Emmanuelle Vargas-Gonzalez
6d285c47ae
update test suite for use of .serialize(pretty=True)
2021-03-31 12:39:14 -04:00
chrisr3d
8093e07d1b
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2021-03-24 12:36:49 +01:00
Chris Lenk
2743b90fc0
Merge pull request #500 from emmanvg/add-fp-serialize
...
fp write for STIX Objects
2021-03-19 21:13:30 -04:00
Emmanuelle Vargas-Gonzalez
19196654c5
Apply suggestions from code review
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-03-19 15:31:01 -04:00
Emmanuelle Vargas-Gonzalez
827f622c04
provide ability to stream STIX output to fp ``.write()`` file-like object
2021-03-17 15:01:49 -04:00
Chris Lenk
ccf3b1a0fc
Merge pull request #480 from emmanvg/479-pagination-taxii-datastore
...
Support Pagination in TAXII DataStore
2021-03-15 09:33:42 -04:00
Emmanuelle Vargas-Gonzalez
7e5d31742c
remove `six` from tests
2021-03-12 16:46:34 -05:00
Emmanuelle Vargas-Gonzalez
c9e66def60
rename test, update the rest of the docstrings for object_similarity() and object_equivalence()
2021-03-10 13:32:02 -05:00
Emmanuelle Vargas-Gonzalez
fb6852b38f
update test suite
2021-03-01 20:47:30 -05:00
Emmanuelle Vargas-Gonzalez
e4e6f46089
change key name for _refs check
2021-03-01 12:54:01 -05:00
Emmanuelle Vargas-Gonzalez
ff5014c606
expose configuration options, combine weight dictionary, update tests
2021-03-01 12:27:52 -05:00
Emmanuelle Vargas-Gonzalez
9043a9dc8e
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-02-19 21:54:46 -05:00
Chris Lenk
4bccfd26bd
Merge pull request #492 from oasis-open/drop-six
...
Drop 'six' dependency (backwards breaking)
2021-02-18 23:45:13 -05:00
Chris Lenk
64608e7bea
Merge pull request #491 from emmanvg/graph-eq-changes
...
Graph Equivalence Changes
2021-02-18 23:44:39 -05:00
Emmanuelle Vargas-Gonzalez
a8b6fa2100
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-02-18 16:04:30 -05:00
Chris Lenk
b4a0a9ea10
Remove six dependency (backwards breaking)
...
We've already removed Python 2 from our test harness, but this removes
all python 2 compatibility code left in.
2021-02-18 12:38:35 -05:00
Emmanuelle Vargas-Gonzalez
fa6978969b
removing unused imports (backwards breaking)
2021-02-18 10:20:42 -05:00
Emmanuelle Vargas-Gonzalez
702c80bd53
add styling changes
2021-02-17 21:47:56 -05:00
Emmanuelle Vargas-Gonzalez
ee63e9faf4
resolve issue regarding reference_check or list_reference_check, remove redundant object_similarity call
...
update test suite
2021-02-17 21:30:14 -05:00
Emmanuelle Vargas-Gonzalez
c656d35da5
add more test coverage for new functions
2021-02-16 13:40:42 -05:00
Emmanuelle Vargas-Gonzalez
f966c64b40
update test suite for environments
2021-02-16 01:05:46 -05:00
Emmanuelle Vargas-Gonzalez
489970718f
WIP: changes to graph_similarity
...
busted main loop, symmetrical properties not present
2021-02-01 22:35:37 -05:00
chrisr3d
24374e7a5f
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2021-01-29 19:19:04 +01:00
Michael Chisholm
0dd6462d60
Add some unit tests which try to version marking-definitions.
2021-01-28 23:02:23 -05:00
Michael Chisholm
c74d06aadc
Improve versioning.new_version() to better handle custom objects
...
and dicts, and add better raised exception types if versioning
couldn't be done. I changed workbench monkeypatching a bit, to
copy some class attributes over to the workbench wrapper
class-like callables, since some code expected those attributes
to be there (e.g. the versioning code).
2021-01-28 23:02:23 -05:00
Michael Chisholm
38067a6ec7
pre-commit stylistic fixes
2021-01-20 20:49:01 -05:00
Michael Chisholm
5aadf1ae91
Add some unit tests for attempting to change ID contributing
...
properties of a 2.1 SCO with UUIDv5 ID, when creating a new
version.
2021-01-20 19:16:22 -05:00
Michael Chisholm
fe2330af07
Improve is_sdo() et al utility functions with respect to
...
dict/mapping values: do a simple verification of the value's
STIX version, not just its type. Added a lot more unit tests to
test behavior on dicts. To make the implementation work, I had
to move the detect_spec_version() function out of the parsing
module and into utils. So that required small changes at all
its previous call sites.
2021-01-20 16:59:39 -05:00
Michael Chisholm
f88fba6751
Change the stix2 class map structure to be keyed at the top
...
level with STIX versions in the same format as is used everywhere
else in the API: "X.Y", as opposed to the "vXY" format used by
the version-specific python packages. This eliminates all of
the awkward conversion from public API format to "vXX" format.
Also a little bit of code rearranging in the registration module
to ensure that some STIX 2.1-specific checks are done whether
version 2.1 is given explicitly or is defaulted to.
In the same module I also added a missing import of
stix2.properties, since my IDE was claiming it could not find a
function from that module.
2021-01-20 16:59:38 -05:00
Michael Chisholm
0f2ce0ac72
Add unit tests for the is_*() utility type checking functions.
2021-01-20 16:59:38 -05:00
Emmanuelle Vargas-Gonzalez
a48af17cf9
styling fixes
2021-01-15 16:05:57 -05:00
Emmanuelle Vargas-Gonzalez
367b485fcd
write some tests to check new MarkingDefinition constraints
2021-01-15 16:01:36 -05:00
Emmanuelle Vargas-Gonzalez
b696f14560
add content for basic incident testing
2021-01-15 15:13:30 -05:00
Emmanuelle Vargas-Gonzalez
be0ebbad65
add test_incident.py
2021-01-15 13:53:43 -05:00
Emmanuelle Vargas-Gonzalez
82390ba648
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-01-15 13:01:30 -05:00
Chris Lenk
a0d535336e
Merge 'master' and fix imports for consistency
2021-01-15 12:34:10 -05:00
Emmanuelle Vargas-Gonzalez
983f931ecd
some missing fixes...
...
- for some reason they only showed up on PY38
2021-01-13 19:48:33 -05:00
Emmanuelle Vargas-Gonzalez
85c14d1502
all changes from add-trailing-commas v2.0.2
2021-01-13 17:52:15 -05:00
Michael Chisholm
f51e309775
Refactor stix2.parsing into more focused modules:
...
- stix2.registry, which contains the class mapping structure
and code for scanning stix2 modules for its initial population
- stix2.registration, which contains code used to register custom
STIX types with the registry
- stix2.parsing, which contains code for creating instances of
registered stix2 classes from raw dicts.
This is intended to reduce circular import problems, by giving
dependent code the ability to import a module which has exactly
the functionality it needs, without pulling a lot of other stuff
it doesn't need. Fewer imports means less chance of an import
cycle.
2021-01-08 22:08:33 -05:00
Emmanuelle Vargas-Gonzalez
6a6f13c37b
rename the Class auto-naming from 'STIXExtension' to 'ExtensionDefinition'
2020-12-23 16:07:30 -05:00
Emmanuelle Vargas-Gonzalez
a3fce3686a
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2020-12-23 15:08:10 -05:00
Emmanuelle Vargas-Gonzalez
ef2ef95c3a
`stix-extension` to `extension-definition`
2020-12-22 21:59:18 -05:00
Emmanuelle Vargas-Gonzalez
49985cc51d
fix ordering problem with Class definitions
2020-11-18 19:01:12 -05:00
Michael Chisholm
169ef87bc2
pre-commit stylistic fixes
2020-11-16 15:10:06 -05:00
Michael Chisholm
f5bbbe7a3b
Fix bug with reference type enforcement on property
...
where_sighted_refs on Sighting.
2020-11-16 15:04:24 -05:00
Emmanuelle Vargas-Gonzalez
aa77f2b174
add test cases
...
additional file changes based on test cases
2020-11-10 21:09:17 -05:00
Chris Lenk
a751df32c6
Fix Location semantic equivalence check for Location objects without the latitude and longitude properties ( #467 )
...
* Fix Location semantic equivalence check for Location objects without the latitude and longitude properties.
Uses contribution from @zrush-mitre (#464 ).
Fixes #462 .
* Remove a line
2020-11-10 12:55:17 -05:00
Emmanuelle Vargas-Gonzalez
1180da7cc7
update to test cases
...
removing invalid test cases per new changes. updating some to reflect new changes to the Extensions Property, other minor ones
2020-11-09 20:35:22 -05:00
chrisr3d
f0f8091516
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-10-28 19:42:51 +01:00
Emmanuelle Vargas-Gonzalez
fb705c4885
Graph Equivalence ( #449 )
...
* new packages for graph and object-based semantic equivalence
* new method graphically_equivalent for Environment, move equivalence methods out
* object equivalence function, methods used for object-based moved here.
* new graph_equivalence methods
* add notes
* add support for versioning checks (default disabled)
* new tests to cover graph equivalence and new methods
* added more imports to environment.py to prevent breaking changes
* variable changes, new fields for checks, reset depth check per call
* flexibility when object is not available on graph.
* refactor debug logging message
* new file stix2.equivalence.graph_equivalence.rst and stix2.equivalence.object_equivalence.rst for docs
* API documentation for new modules
* additional text required to build docs
* add more test methods for list_semantic_check an graphically_equivalent/versioning
* add logging debug messages, code clean-up
* include individual scoring on results dict, fix issue on list_semantic_check not keeping highest score
* include results as summary in prop_scores, minor tweaks
* Update __init__.py
doctrings update
* apply feedback from pull request
- rename semantic_check to reference_check
- rename modules to graph and object respectively to eliminate redundancy
- remove created_by_ref and object_marking_refs from graph WEIGHTS and rebalance
* update docs/ entries
* add more checks, make max score based on actual objects checked instead of the full list, only create entry when type is present in WEIGHTS dictionary
update tests to reflect changes
* rename package patterns -> pattern
* documentation, moving weights around
* more documentation moving
* rename WEIGHTS variable for graph_equivalence
2020-10-16 11:35:26 -04:00
Chris Lenk
d17d01d165
Merge pull request #444 from chisholm/comp_ds_unversioned_objs
...
Update CompositeDataSource and deduplicate() support for unversioned objects
2020-10-15 08:57:55 -04:00
chrisr3d
52d806b349
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-10-13 17:53:12 +02:00
Chris Lenk
ddb25c544a
Merge pull request #456 from chisholm/fix_comparison_expression_root_type
...
Fix object type tracking for AST comparison expression 'AND'
2020-09-18 09:59:53 -04:00
Michael Chisholm
7d64764ae3
Fix object type tracking for comparison expressions in the pattern
...
AST module.
2020-09-14 15:42:36 -04:00
Michael Chisholm
bad42e5b78
pre-commit stylistic junk
2020-09-12 19:33:56 -04:00
Michael Chisholm
ff35e8a01b
Add some unit tests for the AST make_constant() function.
2020-09-12 19:14:29 -04:00
chrisr3d
40b8af3845
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-09-12 12:46:26 +02:00
chrisr3d
8e19ad0f82
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-09-09 16:01:44 +02:00
Michael Chisholm
b5015b74ba
pre-commit stylistic fixes
2020-08-19 12:10:51 -04:00
Michael Chisholm
3c25410a9d
pre-commit stylistic fix
2020-08-19 11:51:47 -04:00
Michael Chisholm
7fa3c78dea
Update CompositeDataSource and deduplicate() to handle unversioned
...
objects, including 2.1 SCOs. Updated some unit tests to test
this. Fixed a typo in a 2.0 unit test (2.0 deduplicate() test).
2020-08-17 18:38:29 -04:00
Michael Chisholm
b6c2206491
Add some unit test suites for pattern equivalence which use some
...
STIX version-specific pattern features.
2020-08-14 19:56:49 -04:00
Michael Chisholm
c21b230edb
pre-commit hook stylistic changes
2020-08-13 17:44:42 -04:00
Chris Lenk
1948b38eec
Merge pull request #438 from oasis-open/issue_437
...
hack for issue_435
Fixes #435 .
2020-08-07 09:55:41 -04:00
Chris Lenk
1f9a844941
Merge pull request #439 from maybe-sybr/fix/customs-class-name
...
fix: Respect name of `@Custom*` decorated defs
2020-08-04 07:32:03 -04:00
Rich Piazza
8f76a84bbf
handle quoted path components
2020-07-30 15:32:06 -04:00
maybe-sybr
15344527aa
fix: Respect name of `@Custom*` decorated defs
2020-07-28 11:13:59 +10:00
Emmanuelle Vargas-Gonzalez
8cdbfed5e4
Merge pull request #431 from oasis-open/filesys-write-custom
...
Fix bug when adding custom object to FileSystemSink if the object type hasn't been registered
2020-07-27 09:43:38 -04:00
Rich Piazza
b7a30befdc
add tests and fix introduced bug
2020-07-25 14:47:40 -04:00
Rich Piazza
084941dd41
handle mixed boolean expressions
2020-07-24 11:40:21 -04:00
Emmanuelle Vargas-Gonzalez
8093898a3d
move serialization-related methods to serialization.py
...
update tests that call specific methods from this area
2020-07-22 15:36:48 -04:00
Chris Lenk
55ea84ece2
Fix bug when adding custom obj to FileSystemSink
...
... if the object type hasn't been registered.
Related: #439 .
2020-07-20 00:04:32 -04:00
chrisr3d
0d6db44c80
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-07-09 19:05:40 +02:00
chrisr3d
87d178da9c
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-07-09 10:38:58 +02:00
Michael Chisholm
d888eb60e2
Remove protocol_family and its uses from the v21 network
...
socket SCO extension. It's a 2.0 property that got copied into
the 2.1 code by mistake.
2020-07-08 14:26:02 -04:00
Emmanuelle Vargas-Gonzalez
bf66744db3
remove round from `fuzz.token_sort_ratio(str1, str2)` call
2020-07-08 11:02:56 -04:00
Chris Lenk
3397805367
Consolidate version-independent property tests
2020-07-01 09:41:10 -04:00
Chris Lenk
e25734d2b6
Fix trailing commas
2020-06-26 16:43:19 -04:00
Chris Lenk
3ef63d5e17
Update Workbench for 2.1
2020-06-26 16:43:19 -04:00
Chris Lenk
d62f5ee141
Remove 'encoding' param from json.loads
...
It's ignored since Python 3.1 and we've dropped 2.7.
2020-06-26 16:43:19 -04:00
Chris Lenk
f78b396648
Fix parsing tests
2020-06-26 16:43:19 -04:00
Chris Lenk
b42b1cafa7
Move a couple tests for organization
2020-06-26 16:43:19 -04:00
Chris Lenk
b2ee33208f
Set STIX 2.1 as default, fix indicator.valid_from
2020-06-26 16:43:19 -04:00
chrisr3d
808dd94f67
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2020-06-24 11:22:37 +02:00
Chris Lenk
9d05c9d3e2
Merge pull request #401 from chisholm/fix_versionable_detection
...
Fix versionability detection
2020-06-10 10:22:59 -04:00
Michael Chisholm
00b78e7a47
Stylistic pre-commit junk
2020-06-08 17:51:13 -04:00
Michael Chisholm
99bf4215a3
Change all uses of ObjectReferenceProperty in 2.1 SCO classes
...
to ReferenceProperty. Add a unit test to ensure that when a
stix2 object is passed as a value of a ReferenceProperty, that
the ID is properly pulled out and used as the actual property
value, and that it doesn't affect the deterministic ID
calculation.
2020-06-08 17:24:33 -04:00
Chris Lenk
8bde22fa1f
Merge pull request #407 from emmanvg/flexibility-selector-syntax
...
Update SELECTOR_REGEX for GranularMarkings
2020-06-08 13:54:39 -04:00
Emmanuelle Vargas-Gonzalez
aa18575c83
add `id` as special-case option in regex. closes #406
2020-06-08 09:27:12 -04:00
Michael Chisholm
9c5f950d5b
Add a new_version() restriction preventing SCO ID contributing
...
properties from being changed, if a UUIDv5 is in use. Changing
one of those properties would imply an ID change, which is not
allowed across versions. Also:
- add a trailing comma
- change unchangable_properties to a set instead of a list,
in case there are dupe props between STIX_UNMOD_PROPERTIES and
sco_locked_props
2020-06-05 14:24:16 -04:00
Michael Chisholm
5522050899
Improve versionability detection when creating new versions
...
of objects. Move versioning-related stuff out of stix2.utils
to its own module. Some misc versioning-related fixes.
2020-06-05 14:24:16 -04:00
Michael Chisholm
5a5484d464
Move/merge some deterministic ID tests from the observed-data SDO
...
test suite to the test suite specific to testing deterministic
IDs. This keeps the tests for that specific system in one place.
2020-06-05 14:14:44 -04:00
Michael Chisholm
f17f782134
Bugfixes to the json un-escaping function. Added some unit tests
...
for that.
2020-06-05 14:14:44 -04:00
Michael Chisholm
2179028c91
Fix deterministic ID behavior when an empty "hashes" property is
...
given. Now, an exception is raised. Added a unit test for this.
2020-06-05 14:14:44 -04:00
Michael Chisholm
c94feae623
Add a deterministic ID unit test with an embedded object
2020-06-05 14:14:43 -04:00
Michael Chisholm
fa981affa9
stupid python 3.8 pre-commit still not adding the right trailing
...
commas....
2020-06-05 14:14:43 -04:00
Michael Chisholm
9dcffd9fad
Add some unit tests for deterministic IDs.
2020-06-05 14:14:43 -04:00
chrisr3d
ca61b06aa2
Merge branch 'master' of github.com:oasis-open/cti-python-stix2
2020-05-22 22:15:40 +02:00
Michael Chisholm
7955a41997
Drop python-dateutil as a dependency and switch to the builtin
...
datetime module for parsing timestamps. Dateutil proved too
slow.
2020-05-20 15:06:53 -04:00
Emmanuelle Vargas-Gonzalez
b4dbc419f6
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 391-ssdeep-hash-case
2020-05-14 12:51:02 -04:00