Backend optimizations and improvements, TAXII interop filters #175
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR primarily updates memory and mongo backends to improve performance and add support for interop filters. "Interop" (interoperability) filters are an expanded set of filter names one can use in "match[...]" style TAXII queries. These are described in section 3.13.2 and appendix B of the interoperability test document.
Interop support can be enabled and disabled via a new "interop_requirements" setting in the medallion config file ("backend" section). The default is false (disabled).
There are also changes to other implementation details, e.g. change how Flask apps and unit tests are set up to make it easy to create fresh Flask apps for each unit test and reset the database. Recreating Flask apps and resetting the database improves unit test independence (one unit test should not affect another). But mongo backend unit tests run much more slowly now.
Also included are some small updates from some PRs which were (and still are) outstanding, which we built upon. So this PR obsoletes several other PRs, listed below.
Fixes issues: #154, #159, #173
Obsoletes PRs: #163, #164, #165, #166, #167, #174