Commit Graph

538 Commits (165d87e1036e71eb4057ca308df7c20fb551dec7)

Author SHA1 Message Date
Michael Chisholm 165d87e103 Revert the import in the top-level stix2 package, to v20. This
additionally required:

- Removing the v21 workbench test suite and reinstating the v20
  test suite
- Fixing up a few v20 unit tests to work with the workbench
  monkeypatching.
- I didn't revert the analogous changes I'd previously made to
  the v21 unit tests, because I think they make sense even when
  the workbench monkeypatching isn't happening.
2019-07-22 16:55:22 -04:00
Michael Chisholm 823b67a4fc Add a few more tests to exercise more complex property presence
constraint checking.
2019-07-19 15:40:03 -04:00
Michael Chisholm 5589480980 Improved the exception class hierarchy:
- Removed all plain python base classes (e.g. ValueError, TypeError)
- Renamed InvalidPropertyConfigurationError -> PropertyPresenceError,
  since incorrect values could be considered a property config error, and
  I really just wanted this class to apply to presence (co-)constraint
  violations.
- Added ObjectConfigurationError as a superclass of InvalidValueError,
  PropertyPresenceError, and any other exception that could be raised
  during _STIXBase object init, which is when the spec compliance
  checks happen.  This class is intended to represent general spec
  violations.
- Did some class reordering in exceptions.py, so all the
  ObjectConfigurationError subclasses were together.

Changed how property "cleaning" errors were handled:
- Previous docs said they should all be ValueErrors, but that would require
  extra exception check-and-replace complexity in the property
  implementations, so that requirement is removed.  Doc is changed to just
  say that cleaning problems should cause exceptions to be raised.
  _STIXBase._check_property() now handles most exception types, not just
  ValueError.
- Decided to try chaining the original clean error to the InvalidValueError,
  in case the extra diagnostics would be helpful in the future.  This is
  done via 'six' adapter function and only works on python3.
- A small amount of testing was removed, since it was looking at custom
  exception properties which became unavailable once the exception was
  replaced with InvalidValueError.

Did another pass through unit tests to fix breakage caused by the changed
exception class hierarchy.

Removed unnecessary observable extension handling code from
parse_observable(), since it was all duplicated in ExtensionsProperty.
The redundant code in parse_observable() had different exception behavior
than ExtensionsProperty, which makes the API inconsistent and unit tests
more complicated.  (Problems in ExtensionsProperty get replaced with
InvalidValueError, but extensions problems handled directly in
parse_observable() don't get the same replacement, and so the exception
type is different.)

Redid the workbench monkeypatching.  The old way was impossible to make
work, and had caused ugly ripple effect hackage in other parts of the
codebase.  Now, it replaces the global object maps with factory functions
which behave the same way when called, as real classes.  Had to fix up a
few unit tests to get them all passing with this monkeypatching in place.
Also remove all the xfail markings in the workbench test suite, since all
tests now pass.

Since workbench monkeypatching isn't currently affecting any unit tests,
tox.ini was simplified to remove the special-casing for running the
workbench tests.

Removed the v20 workbench test suite, since the workbench currently only
works with the latest stix object version.
2019-07-19 14:50:11 -04:00
Michael Chisholm cd0c4984fa Fix most unit tests to pass again. Awaiting feedback regarding
possible library bugs, before I fix the remaining unit tests.
2019-07-16 16:10:25 -04:00
Desai, Kartikey H b464a9cc0a Remove certain human message assertions from test suites 2019-07-09 13:34:19 -04:00
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
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
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 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
Chris Lenk b8c5bec101 Merge branch 'master' into stix2.1 2019-06-26 12:22:40 -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 d61b543266 Style changes to satisfy the 'style' tox check 2019-06-14 18:10:38 -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 9c34e2f8ca update tests to make sure we are testing the serialized instance correctly 2019-05-08 10:36:31 -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 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
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 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
Chris Lenk 69d2529f0e Fix style issues 2019-02-06 15:23:00 -05: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