Michael Chisholm
b0eb518997
Added adaptability to the workbench module, regarding the
...
autogenerated docstrings: v20/v21 is automatically referenced as
appropriate, based on stix2.DEFAULT_VERSION. To avoid
duplication, I also moved _STIX_VID from test_workbench.py to
workbench.py; the former now imports it from the latter.
2019-07-24 17:20:52 -04:00
Michael Chisholm
22face6c1a
Add trailing commas to satisfy pre-commit hooks...
2019-07-24 16:30:18 -04:00
Michael Chisholm
9d08cadcfd
Turn off the workbench test suite's side effects after each test
...
that turns them on. These have the potential to affect subsequent
tests. The side effects include automatically setting
property values, and automatically appending additional values
to list-valued properties.
2019-07-24 16:23:19 -04:00
Michael Chisholm
38103ac6c5
Moved test/v20/test_workbench.py up one directory level since
...
it doesn't make sense to have a test per STIX version. The
workbench only uses the latest supported STIX version. In
order to make this work, the test suite was modified to
dynamically compute some settings like where to get demo data,
based on the value of stix2.DEFAULT_VERSION.
Switched stix2.DEFAULT_VERSION back to "2.0", since I figure it
should be sync'd up with the 'from .vxx import *' import
statement from the top level package.
2019-07-24 15:35:59 -04:00
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
Desai, Kartikey H
4660d5ea28
Update SCO specs per WD 05 specs
2019-07-17 15:48:09 -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
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
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
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
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
7d84c63e8e
pre-commit formatting changes
2018-12-11 13:23:43 -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
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
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
e896812754
minor code changes
2018-11-28 16:51:35 -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
f57b9c34ef
Add a newline to the end of a file
2018-11-27 17:58:01 -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
f615161110
Added some tests for adding markings to sinks and stores.
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
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
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
Chris Lenk
c4668f5dc1
Revert "Multi version filesystem store"
2018-11-07 10:10:06 -05:00
Chris Lenk
150457c1bb
Merge pull request #222 from chisholm/multi_version_filesystem_store
...
Multi version filesystem store
2018-11-06 16:32:07 -05:00
Michael Chisholm
b235e5773c
Added some tests for adding markings to sinks and stores.
2018-11-06 16:15:33 -05:00
Michael Chisholm
9f83f2140b
Ran trailing-whitespace pre-commit hook. It changed a bunch of
...
files, in ways we don't completely understand...
2018-11-06 15:10:40 -05:00
Michael Chisholm
a8d9aef673
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-01 20:25:00 -04:00
Michael Chisholm
e2d9325356
Adjust import order to satisfy tox import check
2018-11-01 20:25:00 -04:00
Michael Chisholm
ee57596d6a
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-01 20:25:00 -04:00
Michael Chisholm
9486b46f77
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-01 20:25:00 -04:00
Chris Lenk
3b297c17b5
Use consistent errors for observable extensions
...
Whether or not the Observable type is in the EXT_MAP already, using a
custom extension without also using allow_custom=True should result in
the same behavior/error message.
2018-11-01 17:23:55 -04:00
Emmanuelle Vargas-Gonzalez
493bd65ead
Update README and refactor code to make 2.0 default. Update some tests
2018-11-01 09:21:02 -04:00
Emmanuelle Vargas-Gonzalez
5e5d10e7aa
Finish alignment of 2.1 components
2018-11-01 08:17:34 -04:00
Emmanuelle Vargas-Gonzalez
eff5369670
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into stix2.1
2018-11-01 07:57:09 -04:00
Chris Lenk
3542604b02
Merge pull request #209 from chisholm/taxii_api_updates
...
Fixed a test fixture to call the cti-taxii-client Collection constructor correctly
2018-10-31 12:04:34 -04:00
Chris Lenk
db300d1f21
Fix `created` millisecond precision in TLPs
...
A marking definition's `created` property doesn't require millisecond
preprecision, but for TLP markings the TLP instances provided in the
spec must be used and they all use millisecond precision.
2018-10-25 13:58:21 -04:00
Michael Chisholm
cbe8d22d0a
Added support to multi-version memory stores for markings. Also
...
added some more unit tests which test storing/retrieving markings
from the stores.
2018-10-17 20:54:53 -04:00
Emmanuelle Vargas-Gonzalez
d614343910
Rename tests with duplicate name.
2018-10-17 07:56:10 -04:00
Emmanuelle Vargas-Gonzalez
352749edb0
Add constrains to ObservedData and Sighting, tests updated.
2018-10-17 07:47:25 -04:00
Emmanuelle Vargas-Gonzalez
f8a72b0937
Custom builder code updated for 3.7 support.
...
Updated properties to support more constrains.
Make all regexes literal strings.
Update tests to align to new constrains.
Workbench problem. _check_object_constraints() uses instance class to
perform proper class resolution calls.
2018-10-17 07:34:15 -04:00
Michael Chisholm
864ba05b71
Fix import order to satisfy isort-check
2018-10-15 19:23:28 -04:00
Michael Chisholm
d9f6a213c1
Fixed Memory source/sink/store so that it supports multiple versions
...
of objects. Fixed several bugs too.
2018-10-15 18:02:49 -04:00
Emmanuelle Vargas-Gonzalez
acd86c80dd
Update tests to new object constraints
2018-10-15 14:48:52 -04:00
Michael Chisholm
541c682bf6
Fixed a test fixture to call the cti-taxii-client Collection
...
constructor correctly. It had been recently changed to address
issue #39 in that library.
2018-09-07 17:47:24 -04:00
mbastian1135
5648d2bc45
added to pattern guide; reverting pattern str conversion (as was already proper)
2018-08-30 11:57:20 -04:00
Emmanuelle Vargas-Gonzalez
211b8d8cee
Add core tests and minor change to parse_observable()
2018-07-25 20:53:53 -04:00
Emmanuelle Vargas-Gonzalez
ad76e7155c
MALWARE RESTORE POINT - Reverted changes to Malware based on STIX 2.1 CSD01
...
Use this commit to restore Malware changes.
2018-07-25 13:34:56 -04:00
Emmanuelle Vargas-Gonzalez
21c84acc8f
Add missing properties to Relationship object and update tests
2018-07-25 12:44:46 -04:00
Emmanuelle Vargas-Gonzalez
af2a5605ce
Add constraints to Location object
2018-07-25 12:43:57 -04:00
Emmanuelle Vargas-Gonzalez
40d656c94c
Minor changes to tests.
2018-07-25 12:43:08 -04:00
Emmanuelle Vargas-Gonzalez
51a499cb33
Formatting changes made by the new pre-commit hook 'add trailing commas'
...
closes #189
2018-07-13 11:10:05 -04:00
Emmanuelle Vargas-Gonzalez
965d7fa788
Update v20 and v21 tests
...
In v20, only minor stuff that was addressing wrong spec. In v21, align tests with new/changed properties in the specs
2018-07-12 14:33:00 -04:00
Emmanuelle Vargas-Gonzalez
281dbfb0f4
Align tests with news additions from 'master' branch.
2018-07-11 09:43:37 -04:00
Emmanuelle Vargas-Gonzalez
a042970a1f
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into stix2.1
2018-07-11 09:41:42 -04:00
Emmanuelle Vargas-Gonzalez
6bd797e258
Fix 'test_memory_store_object_with_custom_property_in_bundle'
...
Since Bundles objects are now added instead of the Bundle itself, it now works as intended.
2018-07-10 16:19:40 -04:00
Emmanuelle Vargas-Gonzalez
c91bcd43f6
Fix location for test_object_property
2018-07-10 16:11:07 -04:00
Emmanuelle Vargas-Gonzalez
48e0442439
Fix tests in 'test_properties.py'
2018-07-10 16:10:01 -04:00
Emmanuelle Vargas-Gonzalez
d24cddb547
Temporarily skip failing tests in workbench for v20, but the approach needs to be fixed
2018-07-10 16:08:36 -04:00
Emmanuelle Vargas-Gonzalez
4583da3ef2
Sort imports
2018-07-10 16:05:30 -04:00
Emmanuelle Vargas-Gonzalez
ce42c02cee
Fix tests that use property objects to call in the right path
2018-07-10 15:56:22 -04:00
Emmanuelle Vargas-Gonzalez
645a258c62
Fix file indentation
2018-07-10 14:46:46 -04:00
Emmanuelle Vargas-Gonzalez
edd7148e3c
It appears we did not support the case when the Bundle contains 'utf-8'
2018-07-09 15:26:57 -04:00
Emmanuelle Vargas-Gonzalez
70a1e9522b
Add 'stix2_data' test directory for v20 tests
2018-07-09 15:22:08 -04:00
Emmanuelle Vargas-Gonzalez
0197f9fd17
Minor fixes to tests. Some datastore had strange parameters in calls.
...
Fix error values for CustomMarking and fix incorrect test data
2018-07-09 15:20:04 -04:00
Emmanuelle Vargas-Gonzalez
646d941032
Removed 'test_memory' file and moved all tests into 'test_datastore_memory'
...
The tests under 'test_memory' were moved into a new file called 'test_datastore_composite' to make clear what we are testing.
2018-07-09 15:15:29 -04:00
Emmanuelle Vargas-Gonzalez
546216c396
Remove unnecessary 'True' in Memory datastore tests.
2018-07-09 15:07:05 -04:00
Emmanuelle Vargas-Gonzalez
21d5451d1c
Small changes to tests
2018-07-06 14:11:59 -04:00
Greg Back
49c1931b4b
Merge pull request #203 from oasis-open/200-filter-contains
...
Add "contains" filter
2018-07-05 15:47:09 -05:00
Emmanuelle Vargas-Gonzalez
5be1636b10
Update v20 tests to ensure right methods and classes are used
2018-07-05 15:23:25 -04:00
Emmanuelle Vargas-Gonzalez
2c5ddc14af
Update v21 tests for some missing methods, ensure we are calling and
...
using the right classes.
2018-07-05 15:21:09 -04:00
Greg Back
25409b2099
GH-188: Update error message for invalid IDs.
2018-07-05 11:25:48 -05:00
Emmanuelle Vargas-Gonzalez
bfa86bf87e
Format objects in observed_data
2018-07-03 10:32:04 -04:00
Emmanuelle Vargas-Gonzalez
04680d8a3d
First pass at making sure everything uses v21 classes and representations
2018-07-03 09:40:51 -04:00
Emmanuelle Vargas-Gonzalez
3100fa1fb8
Move v20 tests to their own package
2018-07-03 07:02:57 -04:00
Emmanuelle Vargas-Gonzalez
da5b16dc2f
Create v21 test package with new spec changes
2018-07-03 07:00:18 -04:00
Chris Lenk
f47809eaaf
Add "contains" filter
...
This allows filtering on, for example, observed-data objects that
contain a specific cyber observable.
2018-07-02 18:28:27 -04:00
Emmanuelle Vargas-Gonzalez
c2f5a40986
Create new test subpackages
2018-06-30 19:36:54 -04:00
Greg Back
a2e2407025
GH-188: Fixes for old Python syntax.
2018-06-27 12:49:00 -05:00
Greg Back
d2f703b9d0
Reuse reference regex to match IDs as well.
...
Note that this means that UUIDs will no longer be converted, even when
there's an unambiguous mapping.
2018-06-27 12:27:44 -05:00
Greg Back
e749218f9b
GH-188: Test that references are always valid UUID v4.
2018-06-27 12:02:13 -05:00
Greg Back
e5903f1832
Sort constants.
2018-06-27 11:36:17 -05:00
Greg Back
845625c174
GH-188: WIP: Converting all IDs to be valid UUID v4.
2018-06-27 11:35:55 -05:00
Emmanuelle Vargas-Gonzalez
59fdd3082e
Update tests.
2018-06-26 12:29:20 -04:00
Emmanuelle Vargas-Gonzalez
abd172eb3f
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into stix2.1
2018-06-25 08:25:57 -04:00
Greg Back
b2c6acfbf6
GH-188: Restrict valid UUID values.
2018-06-22 14:40:30 -05:00
Greg Back
fdf5937a71
GH-194: Remove unnecessary allow_custom kwarg.
2018-06-21 12:15:28 -05:00
Greg Back
7baeb153fa
Correct "image_weight" to "image_width".
...
Fix #194 .
2018-06-20 15:24:27 -05:00
Greg Back
53a1a0329a
Merge branch 'master' into stix2.1
2018-06-15 10:04:00 -05:00
Michael Chisholm
f09960d7ff
Revamp code related to "pretty" JSON serialization, fix lurking
...
crash bugs.
2018-06-14 21:29:50 -04:00
Michael Chisholm
486c588306
Fix silly isort check errors..
2018-06-14 15:56:02 -04:00
Michael Chisholm
3101584b3d
Fix test_bundle to compare against stix2.1 relationships. The
...
fixture those particular tests use creates 2.1 relationships.
2018-06-14 15:56:02 -04:00
Michael Chisholm
0c3f826c24
First cut at splitting the Bundle implementation into v20 and
...
v21 variants. Also fixed up unit tests and got them passing
again.
2018-06-14 15:56:02 -04:00
Michael Chisholm
ef8d45723f
Update many unit tests to work with the malware2.1 API changes
...
I made. The bundle tests and Bundle itself have not been fixed
yet in this commit.
2018-06-14 15:56:01 -04:00
Greg Back
2e0dfc6592
Merge remote-tracking branch 'origin/master' into stix2.1
2018-06-14 12:42:06 -05:00
Greg Back
858a9752df
Merge pull request #185 from LiamSennitt/master
...
fix custom STIX objects with nested dictionary error #184
2018-06-12 14:40:55 -05:00
Emmanuelle Vargas-Gonzalez
fcffb165ad
Add tests for `find_property_index` and `iterate_over_values`
2018-06-12 14:38:35 -04:00
Emmanuelle Vargas-Gonzalez
94d6610ca1
Merge branch 'master' of github.com:LiamSennitt/cti-python-stix2
2018-06-12 12:58:01 -04:00
Emmanuelle Vargas-Gonzalez
9be819ea6a
Minor tweaks to return immediately after recursive call. Ensure dicts are matched alphabetically
2018-06-12 12:57:25 -04:00
Liam Sennitt
bdec14937d
fix flake8 errors in new test
2018-06-12 17:45:48 +01:00
Liam Sennitt
02894b5be6
add test for nested dictionary case
2018-06-12 17:32:46 +01:00
Michael Chisholm
5a9f627669
Pickle-proof stix objects
2018-06-06 15:30:45 -04:00
Greg Back
3e159abd4d
WIP: Merge branch 'master' into stix2.1
2018-05-23 10:43:52 -05:00
Greg Back
d67f2da0ea
Merge pull request #181 from oasis-open/http_error
...
Http error
2018-05-22 12:53:29 -05:00
=
e484b7c25f
formatting
2018-05-18 11:45:40 -04:00
=
6004ec597c
solution to get 404 mocking problem
2018-05-18 11:19:05 -04:00
Chris Lenk
ddc09f70c7
Set allow_custom if using a custom_properties dict
...
Fixes #179 .
2018-05-17 09:04:44 -04:00
Chris Lenk
cf972479ed
Pass allow_custom to object dicts in a Bundle
2018-05-16 15:37:30 -04:00
=
8fc421e7d4
think the mock client was erroneous for get_object(), couldnt get object by id, just returned random object
2018-05-16 15:17:34 -04:00
=
a3313bc08f
creating native DataSourceError exception class to wrap taxii client and server errors
2018-05-16 13:23:50 -04:00
Chris Lenk
69c31ca3fc
Pass allow_custom to ExtensionsProperty
...
Also fix bug caused by _properties being a class variable rather than an
instance variable. If you created an object with allow_custom,
allow_custom would be set for all future instances.
2018-05-16 12:14:33 -04:00
=
2b4c5bf264
handling and modifying exception messages in a manner acceptable by all python versions
2018-05-15 17:42:19 -04:00
=
0d3f80f2fe
removing taxii 503 error test as not reproducible in Travis environment
2018-05-15 15:41:46 -04:00
=
2392912533
handle TAXII client/server errors according to decided policy
2018-05-15 11:28:34 -04:00
Chris Lenk
06e5a33639
Pass allow_custom when adding to ObservedData
2018-05-11 17:28:55 -04:00
Chris Lenk
4229c380a2
Fix make_constant when value is already a constant
...
Fixes #171 .
2018-04-26 10:20:46 -04:00
Emmanuelle Vargas-Gonzalez
c15267971d
Remove 'real_stix_objs1' as it is unused in the tests
2018-04-23 14:55:06 -04:00
Emmanuelle Vargas-Gonzalez
2043a514e1
Add two more tests for the `dict` case in TAXIICollectionSink
2018-04-23 14:47:32 -04:00
Emmanuelle Vargas-Gonzalez
7e5c8a9409
Sort import statements in tests.
2018-04-23 14:27:36 -04:00
Emmanuelle Vargas-Gonzalez
2fe9a0f297
Finish adding new tests for TAXII datastore. closes #148
2018-04-23 14:15:02 -04:00
Emmanuelle Vargas-Gonzalez
e4a226cae6
Finish merging all the changes from @mbastian1135
2018-04-23 14:14:16 -04:00
Emmanuelle Vargas-Gonzalez
488012d39d
Add support for 'real_stix_objs' for test cases
2018-04-23 14:12:54 -04:00
Emmanuelle Vargas-Gonzalez
99a8f9e871
Merge branch 'master' into issue-148
...
# Conflicts:
# stix2/test/test_datastore.py
# tox.ini
2018-04-23 11:04:28 -04:00
Emmanuelle Vargas-Gonzalez
988dad79b9
WIP: Mock TAXIIClient Collection Endpoint
2018-04-23 09:11:59 -04:00
Emmanuelle Vargas-Gonzalez
84c09d7a8f
Rename stix object fixture
2018-04-23 09:08:29 -04:00
Chris Lenk
14dce03616
Provide default for revoked, sighting:summary.
...
This allows filter on un-revoked objects. Changes default JSONEncoder to
drop optional properties with default values in the spec if set to the
default value. They can be included by passing
include_optional_defaults=True to serialize().
2018-04-16 14:37:07 -04:00
Chris Lenk
14d3543906
Merge branch 'master' into invalid-type-names
2018-04-13 16:38:17 -04:00
Chris Lenk
f127d145c4
Merge pull request #166 from oasis-open/139-dict-filter-value
...
139 dict filter value
2018-04-13 16:35:32 -04:00
=
6df23e7268
removed unecessary checks, (clearly I need to review python ref model)
2018-04-13 16:06:31 -04:00
Chris Lenk
a475fc6dbd
Disallow invalid type names in custom classes
2018-04-13 14:52:00 -04:00
Chris Lenk
a8b8bfe88b
Merge pull request #165 from oasis-open/161-dictionaryproperty-fixes
...
Allow dictionaries in a ListProperty
2018-04-13 14:39:04 -04:00
=
a614a78e22
rm testing lines
2018-04-13 14:21:44 -04:00
=
eba1844535
tweak to filter property checking to make sure original object property is not altered; added tests for this as well
2018-04-13 14:01:33 -04:00
Chris Lenk
58be98104f
Merge pull request #164 from oasis-open/157-allow-generic-custom-observables
...
Allow generic custom observables and custom observable extensions
2018-04-13 12:38:02 -04:00
=
abe252e248
Merge branch 'master' of https://github.com/oasis-open/cti-python-stix2 into 139-dict-filter-value
2018-04-13 12:35:47 -04:00
=
61e091baf3
added FilterSet class for internal use; modified certain parsing processes to make deepcopies or suppled values(dicts) so as to taint original user passed data; added Filter logic to handle datetime objects; added/adjusted tests accordingly
2018-04-13 12:25:12 -04:00
Chris Lenk
fc6a33b23e
Disallow missing 'type' property with allow_custom
...
There was a bug where if you allowed custom content the library would parse an
object without the required 'type' property.
2018-04-13 11:18:56 -04:00
=
1a1e5e1616
WIP- getting close though
2018-04-13 11:08:03 -04:00
Emmanuelle Vargas-Gonzalez
a8b7be88d0
Add support for pretty print case list of dictionaries.
2018-04-13 11:04:07 -04:00
Chris Lenk
d08be151f7
Allow a ListProperty of DictionaryProperties
2018-04-12 21:26:48 -04:00
Chris Lenk
91376586d4
Simplify allowing custom observables/extensions
2018-04-12 16:33:08 -04:00
Chris Lenk
9ef5b395a8
Fix allowing custom observables and extensions
2018-04-12 14:20:24 -04:00
=
31fc1c369a
still WIP
2018-04-12 12:03:07 -04:00
=
333fea4d18
merge conflicts
2018-04-11 21:08:37 -04:00
=
ba6fa595c6
WIP - finding more issues with allowing dicts as filters
2018-04-11 20:54:16 -04:00
Chris Lenk
3e048ef325
Fix deprecated 3.6 backslash-character pairs
...
(https://docs.python.org/3/whatsnew/3.6.html#deprecated-python-behavior )
2018-04-11 15:46:17 -04:00
Chris Lenk
b633fd3785
WIP: Allow custom observables, extensions
2018-04-10 12:54:27 -04:00
Chris Lenk
5c5ca1f21c
Move 'extensions' property to custom Observables
...
... from custom Observable extensions (an extension doesn't need an
'extensions' property).
2018-04-09 15:35:08 -04:00
Chris Lenk
b851afba01
Req. custom extension properties as list of tuples
2018-04-09 15:34:39 -04:00
Emmanuelle Vargas-Gonzalez
1ff640de3c
Moved some test methods here
2018-04-06 14:24:15 -04:00
Emmanuelle Vargas-Gonzalez
cd85683f2b
WIP: Cleaned test_datastore to only include base store tests
2018-04-06 14:23:48 -04:00
Emmanuelle Vargas-Gonzalez
0d1729bbd7
Deleted test_filesystem in favor of test_datastore_filesystem.py
2018-04-06 14:20:39 -04:00
Emmanuelle Vargas-Gonzalez
80e4706ac4
Add some test objs previously in test_datastore.py
2018-04-06 14:19:51 -04:00
Emmanuelle Vargas-Gonzalez
c2e7cbb3e3
Moved from test_datastore.py -> new file test_datastore_taxii.py
2018-04-06 14:18:05 -04:00
Emmanuelle Vargas-Gonzalez
59ff0c4f26
Moved from test_datastore.py -> new file test_datastore_memory.py
2018-04-06 14:17:49 -04:00
Emmanuelle Vargas-Gonzalez
5c4472cbbd
Moved from test_datastore.py -> new file test_datastore_filters.py
2018-04-06 14:17:19 -04:00
Emmanuelle Vargas-Gonzalez
8f58f29358
Moved from test_datastore.py -> new file test_datastore_filesystem.py
2018-04-06 14:16:04 -04:00
Greg Back
a1ad90d43f
Merge pull request #150 from oasis-open/38-workbench
...
Create Workbench layer
2018-04-05 10:09:23 -05:00
Chris Lenk
e3bbc39353
Fix bug with mutable default parameter
2018-04-05 10:07:35 -04:00
Chris Lenk
589c00064b
Remove query_by_type
...
It's not that much of a shortcut and we can add it back in later if it
makes sense.
2018-04-04 14:09:54 -04:00
Greg Back
f61bc5e5ee
Merge pull request #154 from oasis-open/code-coverage
...
Increase code coverage, fix patterning bugs
2018-04-03 15:11:15 -05:00
Chris Lenk
dd8f0f5c72
Increase code coverage slightly
...
An Environment will always have a CompositeDataSource, so there was no way
those exceptions could get raised.
2018-04-02 16:44:57 -04:00
Chris Lenk
3abfe7868a
Add more patterning tests
...
... and fix bugs detected in doing so
2018-04-02 16:38:04 -04:00
=
90834c5b95
docs and tests for parse() mod
2018-03-30 13:21:07 -04:00
Chris Lenk
d453bf6f1a
Add a couple granular markings tests
2018-03-30 13:12:51 -04:00
Chris Lenk
4a2ac6df3a
Add/fix workbench docs, rename add() -> save()
2018-03-30 12:04:31 -04:00
Chris Lenk
b9bbd03481
Update workbench imports and documentation
...
Import a bunch of stuff so users can just "from stix2.workbench import *" and
not need to import other stuff (e.g. MarkingDefinition, Cyber Observable
Object classes, etc.) from stix2.
2018-03-30 12:04:31 -04:00
Chris Lenk
e48e0886a8
Improve code coverage slightly
...
Environment will always have a CompositeDataSource, so the try/catches
in add_filter/s did not make sense.
2018-03-30 12:02:27 -04:00
Chris Lenk
4fb24f14de
Allow passing add'l filters to related_to()
2018-03-30 12:02:27 -04:00
Chris Lenk
61733ad899
Add functions to set ObjectFactory default values
2018-03-30 12:02:27 -04:00
Chris Lenk
fd6d9f74e9
Move query_by_type() to DataStoreMixin
2018-03-30 12:02:27 -04:00
Chris Lenk
53c2d4fadf
Allow add'l filters in workbench query functions
2018-03-30 12:02:27 -04:00
Chris Lenk
e91b71f300
Test adding a data source to the workbench
2018-03-30 12:02:27 -04:00
Chris Lenk
5285934034
Make Workbench use implicit ObjectFactory
...
This is needed to implement functions like `set_default_creator`.
The changes to Tox are so that the wrapping we do in workbench doesn't
affect the rest of our tests. If we test them all in one go, pytest will
import all the tests before running any of them. This will cause the
workbench versions of the SDO classes to be used in all tests.
2018-03-30 12:02:27 -04:00
Chris Lenk
b2613ca62c
Add Workbench wrapper functions
2018-03-30 12:02:27 -04:00
Chris Lenk
aeff8f4bc0
Create Workbench layer
...
Contains a default implicit Environment and functions to get all objects
a specific type.
2018-03-30 12:02:27 -04:00