Commit Graph

966 Commits (b17ac3ba30b7a55ccd862c6401d1b1e3ab6e3da2)

Author SHA1 Message Date
Desai, Kartikey H ae35d2ab01 Add and update tests to conform code to WD04 SDO specs 2019-07-02 13:17:43 -04:00
Desai, Kartikey H ffbf5fa34c Fix JSON encoding issue within tests 2019-07-01 15:41:44 -04:00
Desai, Kartikey H c98fcafb1a Update tests to address conformance to WD04 specs 2019-07-01 15:26:30 -04:00
Desai, Kartikey H ef408e1971 preliminary changes to make stix2 code conform to WD 04 specs 2019-07-01 11:52:55 -04:00
Chris Lenk 953a91ba8e
Merge pull request #273 from chisholm/update_course_of_action
Update course of action for stix2.1 (again)
2019-06-28 12:32:14 -04:00
Chris Lenk 266516ebbc
Merge pull request #272 from chisholm/malware_analysis
Add stix2.1 malware-analysis SDO
2019-06-28 09:57:47 -04:00
chrisr3d 6aff018695
fix: Avoid issues with custom objects
- Custom objects type is dict, which makes it fail
  when the attribute 'id' is called
2019-06-27 17:19:05 +02:00
Michael Chisholm e779cacf3e Update course of action tests, to include tests with the
action_reference property.  Also, stylistic changes to hopefully
let it do more testing with less code.
2019-06-26 21:01:41 -04:00
Michael Chisholm de93a2ee32 Fix stix2.1 course-of-action SDO class properties action_reference
and action_bin to have the correct types.
2019-06-26 19:54:28 -04:00
Michael Chisholm c6132537b8 Changes from add-trailing-comma hook 2019-06-26 17:17:16 -04:00
Michael Chisholm 68f93f4110 Oops, forgot to add the malware-analysis test suite... 2019-06-26 17:10:04 -04:00
Michael Chisholm 5c92db9861 Add stix2.1 malware-analysis SDO 2019-06-26 17:06:26 -04:00
Chris Lenk b8c5bec101 Merge branch 'master' into stix2.1 2019-06-26 12:22:40 -04:00
Chris Lenk 28ac284b84 Remove unnecessary ObservedData constraint
first_observed and last_observed are both required, so this co-constraint was removed from WD04.
2019-06-26 11:18:47 -04:00
Michael Chisholm 58ff89f112 Update observed-data SDO class, adding the new stix2.1 property
"object_refs".  Added a couple tests for it.
2019-06-21 15:44:04 -04:00
Michael Chisholm 23d5bef2ec Change all uses of multi-STIX-version properties (i.e. those
with a spec_version constructor argument) in STIX-version-specific
contexts, to explicitly specify the STIX version.
2019-06-21 14:29:08 -04:00
Michael Chisholm 9cc1e6e8c1 Change location of DEFAULT_VERSION definition, to be before
the imports.  This ensures the attribute will be defined even if
there are import loops.
2019-06-21 14:26:48 -04:00
Michael Chisholm 8bb6c79f1d Change import order to satisfy style checkers... 2019-06-21 14:25:36 -04:00
Michael Chisholm f9578313a0 Change stix2.DEFAULT_VERSION to "2.1" on the stix2.1 branch. 2019-06-21 13:20:37 -04:00
Michael Chisholm ea98a53fae Change all hard-coded spec_version defaults in property classes
to stix2.DEFAULT_VERSION.
2019-06-21 13:18:51 -04:00
Michael Chisholm d61b543266 Style changes to satisfy the 'style' tox check 2019-06-14 18:10:38 -04:00
Michael Chisholm a150b0f4aa Change all uses of IDProperty and ReferenceProperty to specify
a particular spec_version.
2019-06-14 17:58:51 -04:00
Michael Chisholm da5978d317 Factored out more of the STIX identifier validity checking,
partly inspired by PR #263.  This resulted in some error message
format changes (an improvement, I think), which caused some
unit test breakage.  Removed those asserts from the unit tests,
since tests shouldn't be testing human-targeted error messages.
2019-06-13 18:37:21 -04:00
Michael Chisholm ed106f23ff Update IDProperty and ReferenceProperty to support both stix 2.0
and 2.1 rules regarding identifiers.  Change relevant property
tests to specify which spec version to use, and modify tests
according to the specs.
2019-06-12 20:19:47 -04:00
Michael Chisholm 4f593e6d16 Changes from the add-trailing-comma pre-commit hook 2019-06-12 14:49:34 -04:00
Michael Chisholm caa1d45ae2 Update stix2.1 course-of-action support to the latest spec. 2019-06-11 18:10:02 -04:00
Chris Lenk a6fa3ff1d7 Slightly change bundle error message 2019-05-22 11:05:01 -04:00
Desai, Kartikey H ce86db2a12 Fixes #257 2019-05-20 15:36:35 -05:00
Desai, Kartikey H 86790a736f Fixes #257 2019-05-20 15:29:01 -05:00
Desai, Kartikey H 45d3020518 Fixes #257 2019-05-17 14:21:35 -05:00
Desai, Kartikey H a61344a8aa Add get_obj function to bundle.py to make accessing bundles easier 2019-05-14 13:48:54 -04:00
Kartikey Desai 1bf12221a0 Update _valid_refs doc and add test to v20 test suite 2019-05-13 09:18:50 -04:00
Desai, Kartikey H f79b3c9876 Add functionality to _valid_refs to accept actual cyber observable objects instead of just strings with their types 2019-05-10 10:22:45 -04:00
Emmanuelle Vargas-Gonzalez 087ac35f38 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 252-TLPMarking-constraints 2019-05-08 10:43:13 -04:00
Emmanuelle Vargas-Gonzalez 00d99e3815 remove unused imports 2019-05-08 10:38:23 -04:00
Emmanuelle Vargas-Gonzalez 9c34e2f8ca update tests to make sure we are testing the serialized instance correctly 2019-05-08 10:36:31 -04:00
Emmanuelle Vargas-Gonzalez d5f0c46dd5 re-organize imports in v20, v21 2019-05-08 10:35:53 -04:00
Emmanuelle Vargas-Gonzalez 47f8ed9282 move check_tlp_marking to markings\utils.py 2019-05-08 10:34:56 -04:00
Chris Lenk 582ba2be2c
Merge pull request #259 from emmanvg/251-lang-markings-support
Language markings support
2019-05-08 09:48:21 -04:00
Emmanuelle Vargas-Gonzalez 4b21708e03 modify test to cover exception message 2019-05-03 11:05:32 -04:00
Emmanuelle Vargas-Gonzalez b3a601e4c8 add new files for marking-definition tests 2019-05-03 10:25:11 -04:00
Emmanuelle Vargas-Gonzalez d6497f66fe create a new exception for TLP validation and util method 2019-05-03 10:03:15 -04:00
Emmanuelle Vargas-Gonzalez 46c47a0d08 new approach towards validation of tlp instances 2019-05-03 09:59:07 -04:00
Emmanuelle Vargas-Gonzalez fff0e9e731 update test_datastore_filesystem.py to create proper tlp markings 2019-05-03 09:58:45 -04:00
Emmanuelle Vargas-Gonzalez c3aecd76ba update unnecesary property clean-up and add tests 2019-04-23 09:27:21 -04:00
Emmanuelle Vargas-Gonzalez f8857569d5 Add header to test file 2019-04-23 07:48:51 -04:00
Emmanuelle Vargas-Gonzalez dbc63b7b9f pre-commit changes 2019-04-23 07:43:56 -04:00
Emmanuelle Vargas-Gonzalez 0c78acafd0 add tests to cover the language aspect of the markings 2019-04-22 15:26:21 -04:00
Emmanuelle Vargas-Gonzalez 4bbabaecb2 update marking API methods to allow/use the 'lang' property
including utility methods that expand collapse markings
2019-04-22 15:25:46 -04:00
Desai, Kartikey H 84fc71add4 Add test to ensure fix. Fixes #248 2019-04-19 12:17:42 -04:00
Desai, Kartikey H e748923f19 Fixes #248 2019-04-17 10:08:34 -04:00
Chris Lenk f8d4669f80 Bump version: 1.1.1 → 1.1.2 2019-02-13 10:37:38 -05:00
Chris Lenk afe57f642d Add docstring for to_maps_url() 2019-02-08 14:41:54 -05:00
Chris Lenk e976f0a926 Trim location tests
We can rely on defaults for some properties we aren't testing.
2019-02-08 14:17:19 -05:00
Desai, Kartikey H edfe0ba51a Add support for Bing Maps and corresponding tests. Fixes #86 2019-02-08 09:37:27 -05:00
Desai, Kartikey H 516789400b Merge branch 'master' of https://github.com/khdesai/cti-python-stix2 into location_issue_86 2019-02-07 10:37:37 -05:00
Desai, Kartikey H 8be704a5b9 Update to_map_url and add tests. Fixes #86 2019-02-07 10:31:51 -05:00
Desai, Kartikey H dc91c9cbf4 Initial fix for issue 86. Fixes #86 2019-02-06 16:16:50 -05:00
Chris Lenk 69d2529f0e Fix style issues 2019-02-06 15:23:00 -05:00
John-Mark Gurney 1c03b4a1f0
minor grammar fix 2019-02-04 13:58:33 -08:00
Desai, Kartikey H a788dbb64c Replace most SDO/SRO values in tests with IDs from constants.py 2019-01-29 10:52:59 -05:00
Desai, Kartikey H 10bfde0e86 Merge branch 'master' of https://github.com/khdesai/cti-python-stix2 into fix_issue_245 2019-01-29 08:31:47 -05:00
Desai, Kartikey H b4d4a582ce Update timestamps in v20 testsuite JSON files 2019-01-23 13:42:25 -05:00
Desai, Kartikey H cdac66c04d Update v21 test suite. Fixes #245 2019-01-23 10:56:20 -05:00
Desai, Kartikey H 9941014f3a Update v20 test suite to fix issue 245 2019-01-22 23:07:20 -05:00
Desai, Kartikey H 5fb69e1d44 Start updating test suites to fix issue 245 2019-01-22 21:25:09 -05:00
Desai, Kartikey H 59ec498fa0 Fix test cases in v20 2019-01-22 12:55:19 -05:00
Desai, Kartikey H f59db77352 Update v21 tests and add them to v20 test suite 2019-01-22 12:42:47 -05:00
Desai, Kartikey H dda8a7f724 Add two tests to ensure millisecond precision is used in timestamps irrespective of user-provided precision 2019-01-22 10:05:22 -05:00
Desai, Kartikey H 5658cebf57 Update JSON files so timestamps are only precise to the millisecond (3 decimal points), per the specs 2019-01-18 13:28:37 -05:00
Emmanuelle Vargas-Gonzalez 7e64c70d8b Bump version: 1.1.0 → 1.1.1 2019-01-11 14:27:35 -05:00
Emmanuelle Vargas-Gonzalez db5f8f2ebf Update docstrings to relocate links\documentation 2019-01-11 13:55:05 -05:00
Emmanuelle Vargas-Gonzalez e1356437fc
Merge pull request #240 from khdesai/fix_issue_232
Fix issue 232, raise DataSourceError when FileSystemStore attempts to overwrite an existing file
2019-01-11 11:10:42 -05:00
Desai, Kartikey H 72d7757c7b Change test to use store instead of source & sink 2019-01-11 10:46:16 -05:00
Desai, Kartikey H 5dea09547e Fix test for fix to issue 232 2019-01-11 09:40:57 -05:00
Desai, Kartikey H 6e28cc8fe6 Add test to fix for issue 232 2019-01-11 09:26:55 -05:00
Desai, Kartikey H 767a758b28 Fix styling issue around imports for issue 232 2019-01-09 11:32:51 -05:00
Chris Lenk 8c3ecd1c48
Merge pull request #237 from oasis-open/236-WindowsRegistryKey
Fix error when printing WindowsRegistryKey
2019-01-09 11:12:46 -05:00
Chris Lenk 1ad64dfc0c Move CallableValues to prevent duplicate code 2019-01-09 10:46:48 -05:00
Desai, Kartikey H 77b2e0e3e3 Remove a few comments and Fixes #232 2019-01-09 10:22:33 -05:00
Desai, Kartikey H 7883614d2f Fixes #232 2019-01-09 08:36:10 -05:00
Emmanuelle Vargas-Gonzalez 26a658b789 Update test to v21 2019-01-08 09:41:53 -05:00
Emmanuelle Vargas-Gonzalez 67d3970a50
Update test_observed_data.py
Change to correct version
2019-01-08 09:35:01 -05:00
Chris Lenk ab687d8d0e Test empty extension property serialization 2019-01-07 15:22:08 -05:00
Chris Lenk 2966efa4f0 Remove dictionary/extension property non-empty req
Only bundle.objects and observed-data.objects have a requirement to
include at least one item.
2019-01-07 11:15:47 -05:00
Chris Lenk 34002c4f7c Fix error when printing WindowsRegistryKey
Caused by WindowsRegistryKey having a 'values' property. Fixes #236.
2018-12-21 14:33:59 -05:00
Emmanuelle Vargas-Gonzalez 06e23b08b8 Bump version: 1.0.4 → 1.1.0 2018-12-11 14:14:49 -05:00
Emmanuelle Vargas-Gonzalez 6e50bf5123 Formatting problems... 2018-12-11 13:48:56 -05:00
Emmanuelle Vargas-Gonzalez c8c48a305a Add future import to resolve compatibility problems 2018-12-11 13:41:19 -05:00
Emmanuelle Vargas-Gonzalez 7d84c63e8e pre-commit formatting changes 2018-12-11 13:23:43 -05:00
Emmanuelle Vargas-Gonzalez f12cc82d8a incorporate feedback
update documentation for core.py and automatic copyright year for docs
2018-12-11 13:22:04 -05:00
Emmanuelle Vargas-Gonzalez 3f02925fc9 add new pattern_expressions tests to proper locations 2018-12-11 13:07:53 -05:00
Emmanuelle Vargas-Gonzalez ff098a19b1 update method _timestamp2filename() since it introduces timing precision problems 2018-12-11 13:06:51 -05:00
Emmanuelle Vargas-Gonzalez c75a0857ec Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 1.1.0-release 2018-12-11 13:03:42 -05:00
Emmanuelle Vargas-Gonzalez f20ee91544 rename 'STIXPatternVisitor' to 'pattern_visitor' 2018-12-10 15:23:26 -05:00
Emmanuelle Vargas-Gonzalez 9a69823d08 Revert unnecessary changes 2018-12-10 15:08:43 -05:00
Emmanuelle Vargas-Gonzalez 7702d435ba update method to use docstrings 2018-12-10 15:07:38 -05:00
Emmanuelle Vargas-Gonzalez 50a2191805 Favor star import, disable messages for undefined methods F405 2018-12-10 14:44:44 -05:00
Emmanuelle Vargas-Gonzalez fc0069ed60 re-order imports, add entry to isort file 2018-12-10 14:29:31 -05:00
Richard Piazza b3f69bf942 imports again 2018-12-10 13:42:05 -05:00
Richard Piazza fcea810ea1 added test for ListConstant 2018-12-10 12:54:58 -05:00
Richard Piazza 7bd330dfae import experiment 3 2018-12-10 12:25:59 -05:00
Richard Piazza 1bb3aa12f0 import experiment 2 2018-12-10 12:16:39 -05:00
Richard Piazza 05964ee0c7 import experiment 2018-12-10 12:14:31 -05:00
Richard Piazza a5eca9916c last flake-y 2018-12-09 21:48:24 -05:00
Richard Piazza 99276c92fc flake-y again 2018-12-09 21:42:24 -05:00
Richard Piazza f3526bbfa6 flakey5 2018-12-07 14:06:36 -05:00
Richard Piazza 55ac3564bd flakey4 2018-12-07 14:03:46 -05:00
Richard Piazza 52c7d2a722 flakey3 2018-12-07 13:59:57 -05:00
Richard Piazza 3ea8035fcb flakey2 2018-12-07 13:47:44 -05:00
Richard Piazza da4a91a3ca flakey 2018-12-07 13:30:05 -05:00
Richard Piazza 03cceb827d add_visitor - take 2 2018-12-07 12:43:23 -05:00
Emmanuelle Vargas-Gonzalez 96b81fc489 pre-commit formatting changes 2018-12-06 15:19:50 -05:00
Emmanuelle Vargas-Gonzalez 01df0ccc57 Add new files for the test/v2X/stix2_data/ directory 2018-12-06 15:18:25 -05:00
Emmanuelle Vargas-Gonzalez bfa49ce37a Removed everything in test/v21/stix2_data/
Bring back optional version parameter to datastores. Update
documentation. Update v21 test suite
2018-12-06 15:11:30 -05:00
Emmanuelle Vargas-Gonzalez 3d099bec91 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 1.1.0-release 2018-12-06 15:08:36 -05:00
Emmanuelle Vargas-Gonzalez e1f7cc4028 change "Notes" for "Note" to keep visual effect in documentation 2018-11-30 09:39:05 -05:00
Emmanuelle Vargas-Gonzalez f76de87f59
Update test_datastore_taxii.py
return the right bundle...
2018-11-29 18:45:34 -05:00
Emmanuelle Vargas-Gonzalez c62b9e92e7 revamp code in MockTAXIICollectionEndpoint, add more tests 2018-11-29 18:36:37 -05:00
Emmanuelle Vargas-Gonzalez 06716e3cfd remove redundant/unreachable code in core, add tests 2018-11-29 14:41:57 -05:00
Emmanuelle Vargas-Gonzalez aa649d4727 more pre-commit changes 2018-11-29 13:50:05 -05:00
Emmanuelle Vargas-Gonzalez f1490a98c8 remove full path from `constants` and fix directory resolution 2018-11-29 13:49:06 -05:00
Emmanuelle Vargas-Gonzalez 63c22aba99 fix path issues related to memory datastore 2018-11-29 12:17:26 -05:00
Emmanuelle Vargas-Gonzalez 6e9312efb7 fix test memory datastore teardown 2018-11-29 11:48:14 -05:00
Emmanuelle Vargas-Gonzalez 1b0fa0129f pre-commit changes 2018-11-29 11:06:27 -05:00
Emmanuelle Vargas-Gonzalez 7f3a8b6c80 more tests to improve coverage 2018-11-29 10:27:13 -05:00
Emmanuelle Vargas-Gonzalez 6f897bc91d small enhancements, fix property for TLPMarking 2018-11-29 10:26:20 -05:00
Emmanuelle Vargas-Gonzalez 79c9d85072 make Memory datastore return path where data was saved to 2018-11-29 10:25:15 -05:00
Emmanuelle Vargas-Gonzalez 682e90ccaa expose the confidence methods via `stix2.scales.<method>` 2018-11-28 17:17:05 -05:00
Emmanuelle Vargas-Gonzalez e896812754 minor code changes 2018-11-28 16:51:35 -05:00
Emmanuelle Vargas-Gonzalez 71a2aa2611 update project documentation. 2018-11-28 16:51:00 -05:00
Emmanuelle Vargas-Gonzalez 97a21c3064 my precious tables gone :( 2018-11-28 15:34:48 -05:00
Emmanuelle Vargas-Gonzalez c3031a0282 fix typo on DNI scale 2018-11-28 11:28:26 -05:00
Emmanuelle Vargas-Gonzalez aaddeb8b97 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 1.1.0-release 2018-11-28 11:21:27 -05:00
Michael Chisholm 17970a3faa Fixed a couple filter tests.
- a length check should come before the access, so you can verify
whether the access will succeed.

- Also removed some tests which can't work, due to the filter
changes.  In fact, a lot of these tests should probably be
removed or changed if we want to disallow running
apply_common_filters() on plain dicts.  They will often
coincidentally still succeed though, so I left them in.
2018-11-27 18:42:51 -05:00
Michael Chisholm 3a2f247f68 Fixed my own brainfart with converting string filter values to
datetimes: I'd converted the object property instead of the
filter value! :-P

Also, I fixed filter validation: it was checking for exact types
of the filter values and disallowing subtypes.  This library
includes a datetime subtype named STIXdatetime, and this type
should be usable as a filter value too.  So we need to allow
subtypes.
2018-11-27 18:38:55 -05:00
Michael Chisholm f57b9c34ef Add a newline to the end of a file 2018-11-27 17:58:01 -05:00
Michael Chisholm 18ff6f6094 Import cleanup to satisfy tox checks 2018-11-27 17:52:38 -05:00
Michael Chisholm 3adf7800a8 Changed how filters work, with respect to datetime objects.
Timestamp properties can now be checked against filter values
which are either strings or datetime objects, using datetime
semantics (previously, it reduced to a string compare).
If a stix object property is datetime-valued and the filter
value is a string, the string is parsed to a datetime object,
rather than the other way around.

Filtering in the filesystem store now parses JSON dicts to
_STIXBase objects before applying the filters.

Due to the parsing change, bad JSON content can produce a
different kind of error, so I had to change one of the tests.
2018-11-27 17:36:17 -05:00
Michael Chisholm d8a775c60d Fix some more improper exception re-raises in the filesystem
datastore test suite.  Add a new test corpus file, located so
as to test the backward compatibility functionality of
FileSystemSource.  Add a test to the suite which ensures that
this new file is found.
2018-11-27 15:24:09 -05:00
Michael Chisholm 63166ab256 Add some backward-compatibility to filesystem store: versioned
objects are searched for as ID-named json files in the type
directories, in addition to timestamp-named files in ID
directories.

Made a bugfix: fixed improper exception re-raises

Made an efficiency improvement: don't stat() files in
_get_matching_dir_entries() if no st_mode_test callable is given.
2018-11-27 15:24:09 -05:00
Michael Chisholm f615161110 Added some tests for adding markings to sinks and stores. 2018-11-27 15:24:08 -05:00
Michael Chisholm da13882eec Fix FileSystemSource.get() to not look for the latest version of
an object when markings are queried, since markings are not
versioned.
2018-11-27 15:24:08 -05:00
Michael Chisholm 0cecbeb9d8 Ran trailing-whitespace pre-commit hook. It changed a bunch of
files, in ways we don't completely understand...
2018-11-27 15:24:08 -05:00
Michael Chisholm 0a8ff2ab2e Add some newer versions of a couple of object IDs in the stix2
test data corpus.  Updated filesystem store tests accordingly:
- Remove comments from all_versions tests stating that multiple
  versions are not supported.  Improve the tests to ensure that
  all versions are in fact retrieved.
- Update the get() test to assure that it gets only the latest
  version, when there is more than one version.
- Update some count checks, since there are more objects now
- Fix some typos
2018-11-27 15:24:07 -05:00
Michael Chisholm 2b983368e5 Fix an indexing error which caused FileSystemSource.get() to return
the oldest object instead of the newest.
2018-11-27 15:24:07 -05:00
Michael Chisholm 9693c16cd1 Adjust import order to satisfy tox import check 2018-11-27 15:24:07 -05:00
Michael Chisholm 428a18ded2 Implemented clenk's suggested changes in multi-version filesystem
store:
- Use utils.get_type_from_id() instead of my own (I didn't know it
  was already there)
- Use dict-style instead of attribute-style access to get stix
  object properties
- Convert timezone-aware timestamps to UTC in _timestamp2filename()
  to ensure that different times always result in different
  filenames.

Also added a couple new tests for _timestamp2filename(), which
exercises the timezone conversion code.
2018-11-27 15:24:07 -05:00
Michael Chisholm 461e8bd5cb Removed the old FileSystemSource.query method. I'd renamed it
"query2" and forgot about it and left it there...
2018-11-27 15:24:07 -05:00
Michael Chisholm 0096835cfc Add multi-version support to the filesystem datastore.
Factored out the _is_marking() function from the memory datastore
module to utils so it can be reused, and changed both filesystem
and memory datastore modules to import and use it.
2018-11-27 15:24:07 -05:00