Commit Graph

1072 Commits (31cb2f85be6c17f81aedf744d49b9f27aa331285)

Author SHA1 Message Date
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 303159a818 pre-commit hooks changes 2018-07-25 13:32:22 -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 bdfc221cb0 Update v21 properties to latest spec changes 2018-07-12 14:31:14 -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 ee260b7574 Sort import check 2018-07-11 08:38:06 -04:00
Emmanuelle Vargas-Gonzalez e513c8d638 Hide builder methods in 'custom.py' and update imports accordingly 2018-07-11 08:11:47 -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 834ef2c847 Fix check to collections.Mapping 2018-07-10 16:13:29 -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 8cf68054d4 Remove str() as a way to serialize objects. Add support for encodings and Bundle versions. 2018-07-10 15:51:20 -04:00
Emmanuelle Vargas-Gonzalez 012eba4e9b Add new Bundle support for add_objects() request. Add encoding support.
Removed the version from all methods since it is no longer necessary.
2018-07-10 15:49:36 -04:00
Emmanuelle Vargas-Gonzalez 9b8cb09b1a Remove 'version' from calls to parse since it is no longer necessary
Also, fixed adding STIX2 Bundles to MemorySource. Enhancements to 'save_to_file'. Fix docstrings and encoding support when writing to file. closes #202
2018-07-10 15:43:58 -04:00
Emmanuelle Vargas-Gonzalez b6fefc52d9 Fix call to collect STIX2 mappings, make parse_observable available 2018-07-10 15:31:22 -04:00
Emmanuelle Vargas-Gonzalez 8d378fcf81 Remove STIXRelationshipObject from 'sro.py' 2018-07-10 15:27:05 -04:00
Emmanuelle Vargas-Gonzalez 023603d86f Remove duplicate code from 'sdo.py', removed STIXDomainObject
Apply proper 'spec_version' constraints to v21 objects
2018-07-10 15:22:21 -04:00
Emmanuelle Vargas-Gonzalez 54268ae7dd Remove observables and extension mappings, custom code and apply property constrain in v21 2018-07-10 15:20:16 -04:00
Emmanuelle Vargas-Gonzalez 1177694739 Adding docstrings to 2.1 objects 2018-07-10 15:15:33 -04:00
Emmanuelle Vargas-Gonzalez b722fdc0ed Remove duplicate register methods and CustomMarking code 2018-07-10 15:07:08 -04:00
Emmanuelle Vargas-Gonzalez 5332d54383 Refactor Bundle
Removed redundant STIXObjectProperty, for 2.1 use validation specific to that version
2018-07-10 15:02:55 -04:00
Emmanuelle Vargas-Gonzalez 78d77254ae Add object mappings in the top of each version package 2018-07-10 14:59:43 -04:00
Emmanuelle Vargas-Gonzalez 03e19f197c Moved STIXDomainObject and STIXRelationshipObject here, the observable
parsing code, minor changes to the mappings collections and all _register methods
2018-07-10 14:56:31 -04:00
Emmanuelle Vargas-Gonzalez b76888c682 Add a new 'custom.py' module to store and consolidate all custom code 2018-07-10 14:54:17 -04:00
Emmanuelle Vargas-Gonzalez f669656a4d Removed 'ExtensionsProperty' from workbench. 2018-07-10 14:52:10 -04:00
Emmanuelle Vargas-Gonzalez 7da6f1ed88 Add a package-wide 'properties.py'
Consolidated STIXObjectProperty, ExtensionsProperty, ObservableProperty code. Also added a 'spec_version' to allow validation changes per spec.
2018-07-10 14:50:03 -04:00
Emmanuelle Vargas-Gonzalez fe64fb044f Removed per version 'properties.py' 2018-07-10 14:47:30 -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 8aeac369f4 Returning double quotes here... went overboard. 2018-07-09 14:59:19 -04:00
Emmanuelle Vargas-Gonzalez 21d5451d1c Small changes to tests 2018-07-06 14:11:59 -04:00
Emmanuelle Vargas-Gonzalez 52c1850655 Small addition to patterns.py 2018-07-06 14:08:49 -04:00
Greg Back 68aac583c9
Merge pull request #204 from oasis-open/refactor-properties
Refactor Properties
2018-07-05 17:16:25 -05: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 7c8113a4d9
Merge pull request #201 from oasis-open/188-uuidv4
Ensure all UUIDs are V4
2018-07-05 11:46:44 -05:00
Greg Back 12a22c0939 Remove unnecessary code related to defining properties. 2018-07-05 11:39:44 -05: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
Emmanuelle Vargas-Gonzalez 2e6bb74be8 Add spec version 2.1 to object missing the property. 2018-06-29 18:48:41 -04:00
Emmanuelle Vargas-Gonzalez 7fd379d0b5 Minor style changes.
Removed OrderedDict and update()... Also a lot of single quoting except for errors
2018-06-29 18:38:04 -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 9baaad6e08 Sort imports. 2018-06-26 12:23:53 -04:00
Emmanuelle Vargas-Gonzalez bee537137b
Update base.py
Fix STIXJSONIncludeOptionalDefaultsEncoder call to super()
2018-06-26 11:10:36 -04:00
Trey Darley 5cbe886cdb split properties out by spec version 2018-06-26 09:32:24 +00:00
Trey Darley d44c2abd0f 2.1 spec (somewhat inexplicably) limits dict keys to 250 chars 2018-06-26 09:23:52 +00:00
Trey Darley cc58a3a4f4 2.1 removes 3 char limit on dict keys 2018-06-26 09:22:57 +00:00
Trey Darley 6b1da856dd split properties out by spec version 2018-06-26 09:22:04 +00:00
Emmanuelle Vargas-Gonzalez b852b91652 Reformat methods documentation 2018-06-25 10:06:07 -04:00
Emmanuelle Vargas-Gonzalez 0ddb7b3807 Update observables.RasterImageExt 'image_weight' property to 'image_width' 2018-06-25 08:55:12 -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 240a75861e Updated stix2.parse()-related docstrings. Its description of how
the "version" parameter was used, was out of date.
2018-06-14 15:56:02 -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
Michael Chisholm f211649529 Made some minimal changes to support the STIX 2.1 Malware SDO,
and the maec2stix tool.
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 c12336b55a Revert changes to iterables. 2018-06-12 15:03:25 -04:00
Emmanuelle Vargas-Gonzalez 78a480aa08 Change str.isdecimal to isdigit. On lists keep iterating if unless index is found 2018-06-12 14:45:15 -04: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
Greg Back 75e478312a Additional changes to match updates in v20 code. 2018-06-11 13:37:45 -05:00
Emmanuelle Vargas-Gonzalez 91cae0b5b7 Split `find_property_index` and support multiple levels of nesting. 2018-06-08 15:43:21 -04:00
Emmanuelle Vargas-Gonzalez 60da259805 Add an example on how to call the serialize() method. 2018-06-08 15:42:59 -04:00
Michael Chisholm 5a9f627669 Pickle-proof stix objects 2018-06-06 15:30:45 -04:00
Liam Sennitt dbe9c3f087 fix custom STIX objects with nested dictionary error #184 2018-06-01 13:49:32 +01: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
= 3fb1840289 safer error class 2018-05-22 10:03:06 -04:00
Chris Lenk 636630a5aa Bump version: 1.0.1 → 1.0.2 2018-05-18 13:06:32 -04: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 102623b29a Bump version: 1.0.0 → 1.0.1 2018-04-27 16:51:47 -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 fb79e703b8 Simplify FilterSet instance in MemorySource 2018-04-23 14:12:16 -04:00
Emmanuelle Vargas-Gonzalez 8a9acfe487 Create TAXII query correctly. closes #169 2018-04-23 14:11:08 -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 161e10ec40 Bump version: 0.5.1 → 1.0.0 2018-04-16 14:57:35 -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 194672ee2b Tweak FilterSet docstrings style 2018-04-13 17:11: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
= 27647091a5 WIP - just at stash point 2018-04-11 13:36:52 -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
Chris Lenk f83d9a56b5 Clean up documentation 2018-04-09 13:29:53 -04:00
Chris Lenk 1d06e642a4 Bump and pin nbsphinx version 2018-04-09 09:55:29 -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
Chris Lenk e6e72856b3 Remove query_by_type()
Missed these earlier.
2018-04-05 11:22:50 -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
Chris Lenk f951b9b09e Factor out dupl. code for creating list of filters 2018-04-04 13:50:41 -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
Greg Back 537dff9d2a
Merge pull request #153 from oasis-open/118-allow-generic-obj
118-allow generic obj and 135- split up parse()
2018-04-03 15:06:25 -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
Chris Lenk 940afb0012 Require a type when querying by type 2018-04-02 09:54:22 -04:00
Emmanuelle Vargas-Gonzalez 0bb1bb37f1 Call parse() on stix_data
# Fix on MemorySource.load_from_file()
2018-04-02 07:40:25 -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 98cc86eef6 Fix workbench wrapped classes for `parse()`.
The wrapped classes need to be in the OBJ_MAP mapping, not just the
workbench.py globals.
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 efede51453 Skip documenting some workbench stuff 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 eeb94562f9 Clean up DataStore return value documentation 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
= 89cf4bc38f WIP:allow unknown custom objects to be processed by parse; WIP: splitting up parse utility into components; found bug in tests that wasnt providing for proper teardown cleaning, fixed 2018-03-29 11:49:30 -04:00
Greg Back e92db2417a
Merge pull request #147 from oasis-open/119-taxii-filters
119 taxii filters
2018-03-28 15:24:28 -05:00
= 51dcd6c184 same as last commit 2018-03-22 11:46:49 -04:00
= b1579ae265 same as last commit 2018-03-22 11:36:35 -04:00
= 9f19245c8a modify tests for python 3.x acceptance 2018-03-22 11:23:48 -04:00
= 536e56836c adding Filter check when the Filter property is 'type', checks the value has no underscores (issue #136) 2018-03-22 10:59:07 -04:00
Michael K 383bf5755e
remove debug line 2018-03-21 22:06:46 -04:00
= 7880e4a89b passing TAXII query params in correct format to taxii2client; patching bug where TAXII query filters were being applied again locally to STIX objects via Filters (which doesnt work) 2018-03-21 17:19:05 -04:00
Greg Back 3c2d877bc3
Merge pull request #145 from oasis-open/138-non-json-files
138 non json files
2018-03-21 13:37:27 -05:00
Emmanuelle Vargas-Gonzalez eeb34ebbef Change logic for case `isinstance(stix_data, list)`` 2018-03-19 12:03:25 -04:00
Emmanuelle Vargas-Gonzalez 32cb62cca2 Make sure we return if there is nothing to add to the collection 2018-03-19 11:00:09 -04:00
Chris Lenk 4e5eb88458 Increase versioning code coverage slightly 2018-03-16 16:38:29 -04:00
Emmanuelle Vargas-Gonzalez c98abb18f5 Fix docs 2018-03-16 14:26:41 -04:00
Emmanuelle Vargas-Gonzalez 7f9a3c49ea Update TAXIICollectionSink.add() to use serialize(). Call parse() on dict objects. Pass UTF-8 strings to taxii2client. closes #134 2018-03-15 13:51:47 -04:00
= 2fbde05e6c putting test files in stix type folder that exists on git (bc there are files in it) 2018-03-14 19:34:07 -04:00
= f4558c0958 pre-commit errors 2018-03-14 19:09:25 -04:00
= 6f762e7ea0 woops forgot file, recommit of: more type checking of filesystem json files; added corresponding tests 2018-03-14 16:32:31 -04:00
= af14cd4f88 more type checking of filesystem json files; added corresponding tests 2018-03-14 16:28:44 -04:00
Greg Back 5820fa0845 GH-138: ignore invalid JSON files. 2018-03-14 10:06:23 -05:00
Chris Lenk 955cad8385 Clarify serialization in documentation 2018-03-13 16:01:42 -04:00
Chris Lenk f9523f24bf Bump version: 0.5.0 → 0.5.1 2018-03-06 12:05:53 -05:00
Chris Lenk 35679e6a6b Bump version: 0.4.0 → 0.5.0 2018-03-06 11:45:06 -05:00
Chris Lenk 5a71ef2e64 Fix allow_custom in functions calling new_version 2018-03-02 11:32:07 -05:00
Chris Lenk 1eab9b2832 Assume custom properties allowable in add_markings 2018-03-02 10:21:51 -05:00
Greg Back 307a85c8b1 Reorder modules for API documentation 2018-03-01 13:15:02 -06:00
Chris Lenk eb2d87ce71 Rename "DataStore" class to "DataStoreMixin"
Fix #116.
2018-03-01 11:27:37 -05:00
Chris Lenk 5f703509be Rename "sources" subpackage to "datastore"
Fix #114.
2018-03-01 09:04:42 -05:00
Chris Lenk 9402cff110
Merge pull request #131 from oasis-open/taxii_collection_source_404
Data source/store/sink changes
2018-02-27 17:04:14 -05:00
Chris Lenk b6f14cdd4d Fix MemoryStore docstrings 2018-02-27 16:53:05 -05:00
Chris Lenk 7bdf786f89 Remove deprecated tests 2018-02-27 12:17:26 -05:00
Chris Lenk 57eb709c48 Merge branch 'master' into taxii_collection_source_404 2018-02-26 17:08:28 -05:00
Chris Lenk df57f4d159 Fix typos in datasources 2018-02-26 16:56:24 -05:00
Emmanuelle Vargas-Gonzalez b6c22010bb Fix imports for test_location.py 2018-02-23 08:52:34 -05:00
Emmanuelle Vargas-Gonzalez d51f1014c7 Fix InstrusionSet 'last_seen' in 2.1 2018-02-23 08:24:26 -05:00
Emmanuelle Vargas-Gonzalez 06974c72f5 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into stix2.1 2018-02-23 08:21:16 -05:00
Chris Lenk aaff2a3a04 Appease pycodestyle 2018-02-22 09:55:15 -05:00
Chris Lenk 2886ae9961 Add links to specs in STIX Objects' documentation 2018-02-21 16:46:13 -05:00
Chris Lenk 5427e79d71 Fix pycodestyle/isort issues 2018-02-19 15:03:20 -05:00
Chris Lenk 845934033e Avoid checking valid refs when deepcopying
Using `deepcopy` on an Observable object that referenced another (e.g.
domain name -> resolves to -> IPv4 address) would fail because no
`_valid_refs` were available. Assuming that the references have
already been checked and are valid when using `deepcopy`, we can use a
special value ('*') to skip the valid_refs check.

This will also allow creating new versions of ObservedData objects that
contain related objects, since `new_version` calls `deepcopy`.
2018-02-19 14:44:28 -05:00
Greg Back e2c9354d14 GH-121: Use correct property name for IntrusionSet.last_seen
Fix #121
2018-01-16 08:49:15 -06:00
Emmanuelle Vargas-Gonzalez 722d46c6c5 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into stix2.1 2017-12-08 09:36:59 -05:00
= da8ae6a621 Merge branch 'taxii_collection_source_404' of https://github.com/oasis-open/cti-python-stix2 into taxii_collection_source_404 2017-12-01 11:33:34 -05:00
= 0c8dd7f47c added docstring warning for utility function 2017-12-01 11:30:41 -05:00
Greg Back 126094106e Merge branch 'master' into taxii_collection_source_404 2017-11-29 22:13:16 +00:00
= 742d249ee0 trying to fix timing bug 2017-11-29 12:50:13 -05:00
= 52a052d4dd removing debug lines; attemting to fix a Travis test error 2017-11-29 12:27:20 -05:00
= 2399ee62ec adjusting tests 2017-11-29 12:03:10 -05:00
Greg Back 98ca928dea
Merge pull request #111 from oasis-open/89-relationships
Support de-referencing relationships
2017-11-27 14:19:29 +00:00
Chris Lenk 4a6bca4486 Merge branch 'master' into 89-relationships 2017-11-21 16:41:21 -05:00
Chris Lenk d355d1827e Move `creator_of` to DataStore/DataSource 2017-11-21 16:29:06 -05:00
Chris Lenk 078474259a Simplify `related_to` 2017-11-21 16:19:15 -05:00
Chris Lenk 6446be310c Clean up relationships code 2017-11-21 15:57:35 -05:00
= 0347bb52fd added remove_custom_stix() utility; tweaked new_version() to make it a little safer 2017-11-21 14:39:50 -05:00
Chris Lenk 92f7e706bf Improve error handling in relationships/related_to 2017-11-21 10:29:57 -05:00
Greg Back f481788e1e
Merge pull request #112 from samcornwell/get_type_from_id
Add get_type_from_id utility function
2017-11-20 15:19:24 +00:00
Sam Cornwell eff51a2bb8 fixed pycodestyle failure 2017-11-19 23:00:42 -05:00
Sam Cornwell 78612530ff added tests for get_type_from_id 2017-11-19 22:27:31 -05:00
Sam Cornwell 8930e72cc3 added get_type_from_id function to utils 2017-11-19 22:11:44 -05:00
Chris Lenk 7e0f911972 Add relationship_type note to docstrings 2017-11-17 17:30:24 -05:00
= ec42182cb1 issue #107 , also MemorySource.load_from_file() parses JSON into python-stix2 objects now 2017-11-17 12:19:06 -05:00
Emmanuelle Vargas-Gonzalez c03ecb5230 Update test modules 2017-11-17 08:50:40 -05:00
= da4e843993 issue #104 with TAXIICollectionSource tweak 2017-11-16 17:47:27 -05:00
Chris Lenk 515ff1e53f Clean up test 2017-11-16 16:50:27 -05:00
Chris Lenk cfa18bfd0d Improve Environment tests 2017-11-16 16:43:27 -05:00
Chris Lenk f0331f8b9b Reorganize DataStore code for dereferencing
- Move `relationships()` to DataStore like `related_to()` is. If a
  DataStore implementation needs a different way to handle relationship
  dereferencing (e.g. TAXII in the future, or CompositeDataSource), it
  can overwrite these functions.
- Reduce code duplication.
- Check for presence of Data Source/Sink in all DataStores, not just in
  Environment.
2017-11-16 16:25:57 -05:00
Chris Lenk 29dec997a0 Add related_to()
Function for calling relationships() but instead of just returning the
Relationship objects, returns the STIX objects being refered to in those
Relationships.
2017-11-16 14:58:59 -05:00
Chris Lenk 86f28644f9 Fix Python2 bug when filter value is unicode 2017-11-15 16:56:55 -05:00
Chris Lenk 1b816c3d84 Test relationships() functions 2017-11-15 16:34:07 -05:00
Emmanuelle Vargas-Gonzalez e6a8b555d3 Add test for CustomMarking. closes #109 2017-11-15 13:12:00 -05:00
Emmanuelle Vargas-Gonzalez fbce8f15fe Allow no custom __init__() on CustomMarking 2017-11-15 12:55:34 -05:00
Chris Lenk 55cf00d7f0 Move relationships() to DataSources 2017-11-15 10:37:17 -05:00
Chris Lenk ef3ce9f6f0 Bump version: 0.3.0 → 0.4.0 2017-11-13 16:40:58 -05:00
Chris Lenk 2dc8a97a51 Fix documentation links for v20 2017-11-13 14:14:24 -05:00
Chris Lenk f9ad7ceb65 Add relationships() function to Environment 2017-11-13 11:09:56 -05:00
Chris Lenk 7495ea6588 Add inter-documentation links
So when users read the guide docs, they can click a link to go to a
relevant section in the API reference.
2017-11-09 15:42:59 -05:00
Chris Lenk c38483b631 Improve markings docstrings
Including a note that the markings functions can be used as methods on
SDO/SRO/MarkingDefinition objects.
2017-11-09 10:19:57 -05:00
Emmanuelle Vargas-Gonzalez 258ea4b82c Some cleanup in MemoryStore 2017-11-08 14:01:56 -05:00
Emmanuelle Vargas-Gonzalez da66f10147 Make DataStore a regular class, remove unwanted overrides, update tests. Remove CustomProperty since it is no longer needed 2017-11-08 13:53:21 -05:00
Emmanuelle Vargas-Gonzalez 489e45ad1b Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into issue-98 2017-11-08 10:31:49 -05:00
Greg Back 5aa8c66bfc
Merge pull request #97 from oasis-open/memory-tests
Test MemoryStore saving/loading to/from file
2017-11-08 14:59:27 +00:00
Emmanuelle Vargas-Gonzalez 19818c8573 Remove stray print() 2017-11-06 14:21:29 -05:00
Emmanuelle Vargas-Gonzalez 0d5859b906 Test other CompositeDataSource operations 2017-11-03 15:13:00 -04:00
Emmanuelle Vargas-Gonzalez 79475586d8 Revert object_properties() to #85 fix. Update tests accordingly 2017-11-03 14:17:36 -04:00
Emmanuelle Vargas-Gonzalez d31b110330 Update TAXII datastores 2017-11-03 08:58:47 -04:00
Emmanuelle Vargas-Gonzalez d6c14139f3 Extend object serialization options for _STIXBase 2017-11-03 08:02:32 -04:00
Emmanuelle Vargas-Gonzalez 8c2af813b2 Define CustomProperty. Make sure to update _properties dict when allow_custom=True 2017-11-02 21:56:18 -04:00
Emmanuelle Vargas-Gonzalez cd6c7982af Update tests related to Datastores 2017-11-02 21:31:56 -04:00
Emmanuelle Vargas-Gonzalez 1e591a827d ABC for DataSink, DataStore and DataSource. Fixes across the concrete objects 2017-11-02 21:29:25 -04:00
Emmanuelle Vargas-Gonzalez f6f7d0aed8 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 2017-11-02 07:48:37 -04:00
Emmanuelle Vargas-Gonzalez bdb91c6ac4 Update STIX 2.1 structure 2017-11-02 07:21:24 -04:00
Greg Back 37e9049536
Merge pull request #93 from emmanvg/issue-91
Update stix2 Package Structure
2017-11-01 20:09:15 +00:00
Greg Back f029a01f9a
Merge pull request #95 from oasis-open/filters
Change filters to allow filtering all properties
2017-11-01 20:04:48 +00:00
Emmanuelle Vargas-Gonzalez b2ff16994f Document new util method 2017-11-01 14:21:26 -04:00
Emmanuelle Vargas-Gonzalez a17d770d34 Merge master 2017-11-01 14:17:41 -04:00
Chris Lenk 7dd222b202 Test MemoryStore saving/loading to/from file
Python 3 dict.values() returns a view, not a list. See
https://stackoverflow.com/a/17431716/

Fix #65.
2017-11-01 12:51:04 -04:00
Emmanuelle Vargas-Gonzalez 84fa86a2fd Fix import statement 2017-11-01 11:03:02 -04:00
Emmanuelle Vargas-Gonzalez 06a50b0178 Update README, add DEFAULT_VERSION 2017-11-01 10:48:28 -04:00
Chris Lenk c2d1e9777b Clean up filters
- Simplify an if statement since split() with no matches returns single
  item list
- Rename _all_filter -> _check_property and make it a method on Filter
- Raise an error instead of returning -1
- s/field/property
2017-11-01 10:40:10 -04:00
Chris Lenk d93bf44c00
Merge branch 'master' into 76-filesystem-bundles 2017-10-31 14:10:29 -04:00
Chris Lenk 482135465b
Merge pull request #92 from oasis-open/issue66
Fix #66 - checking STIX obj ID from TAXII server
2017-10-31 14:06:34 -04:00
= d8e4f1ab98 addessing requested changes 2017-10-31 13:48:31 -04:00
Chris Lenk 924c72e98a Change filters to allow filtering all properties
(Not just common properties)
2017-10-30 17:25:32 -04:00
Emmanuelle Vargas-Gonzalez a514c5a3df Add test for _register_type() 2017-10-29 00:09:13 -04:00
Chris Lenk 612f2fbab8 Increase code coverage for filesystem datastore
Found a couple bugs in the process and fixed them, too.
2017-10-27 15:50:43 -04:00
Emmanuelle Vargas-Gonzalez 42317ddf31 Update filesystem.py to allow_custom and version 2017-10-27 12:38:03 -04:00
Chris Lenk f103084439 Add `bundlify` parameter to FileSystemStore/Sink
This brings back the option (disabled by default) to wrap objects in a bundle
when saving them to the filesystem.
2017-10-27 12:23:57 -04:00
Chris Lenk 4e3752912d Remove stray `print` statement 2017-10-26 15:35:19 -04:00
Emmanuelle Vargas-Gonzalez 9aefa61153 Small fix for Python 3.3, 3.4 2017-10-26 12:39:27 -04:00
Emmanuelle Vargas-Gonzalez 8c56adda21 Update package structure 2017-10-26 11:39:45 -04:00
= 082973f780 whitespace - somehow pre-commit got turned off?? 2017-10-25 15:18:32 -04:00
= 7092990565 tested code with jupyter notebook and local TAXII server 2017-10-25 14:36:20 -04:00
Chris Lenk 5dffe74867 Clean up creator_of
(renamed from created_by)
2017-10-24 14:20:42 -04:00
Emmanuelle Vargas-Gonzalez d4db4f0ab8 Define source code encoding 2017-10-24 12:53:53 -04:00
Chris Lenk 47b11453fa Increase test coverage for memory datastore 2017-10-24 12:43:30 -04:00
Chris Lenk 5c28074364 Add `allow_custom` to datastore docstrings 2017-10-24 09:15:09 -04:00
Emmanuelle Vargas-Gonzalez 7b6236674c Add new tests. 2017-10-23 08:06:29 -04:00
Emmanuelle Vargas-Gonzalez ef98c38937 Minor changes 2017-10-23 08:04:18 -04:00
Chris Lenk e1e368c0d2 Add created_by() function to Environment 2017-10-20 09:13:04 -04:00
Chris Lenk 476cd1ed5b Add option for custom content to TAXII datastore 2017-10-18 18:34:08 -04:00
Chris Lenk c6d5eee083 Separate out Memory datatstore tests
Makes sure custom content can be added to a MemoryStore.
2017-10-18 18:31:46 -04:00
Chris Lenk e1d8c2872e Don't Bundlify data in FileSystemStore
Don't wrap objects in a Bundle when adding them to a FileSystemStore,
but still support getting objects from FileSystemStore that were saved
in a bundle.

Also:
- Add option to allow custom content in FileSystemStore
- Simplify an if statement
- Improve FileSystem docstrings
- Remove an unnecessary parse() call in FileSystemSource.get()
2017-10-18 15:46:45 -04:00
Emmanuelle Vargas-Gonzalez be3e841ecb New object test files 2017-10-18 13:58:24 -04:00
Chris Lenk 84094e9f79 Separate out filesystem tests 2017-10-18 08:27:12 -04:00
Emmanuelle Vargas-Gonzalez 6deaddc04e Make sure custom properties are returned by object. closes #85 2017-10-12 14:08:32 -04:00
Chris Lenk 134267bfd6 Add FileSystem test fixture, test adding bundle 2017-10-12 11:20:20 -04:00
Greg Back 374539a6cc Don't try to re-parse STIX Objects when adding to Bundle. 2017-10-12 14:38:25 +00:00
Emmanuelle Vargas-Gonzalez cccd42d984 Make AS 'number' required, add missing props to SocketExt. closes #77 2017-10-11 15:10:06 -04:00
Emmanuelle Vargas-Gonzalez f6e21d2199 Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into stix2.1 2017-10-11 13:31:46 -04:00
Emmanuelle Vargas-Gonzalez c4c2fb950e Implement LanguageContent object. Update GranularMarking and other missing properties 2017-10-11 13:30:26 -04:00
Emmanuelle Vargas-Gonzalez b99d9e4132 Update confidence docstrings 2017-10-11 13:16:59 -04:00
Chris Lenk 2b6023e7bb Allow objects with custom properties in bundles 2017-10-09 17:33:12 -04:00
Emmanuelle Vargas-Gonzalez 2ec8205f1e Implement confidence conversion scales 2017-10-09 07:22:19 -04:00
Emmanuelle Vargas-Gonzalez 50f3d60259 Update branch 2017-10-06 20:34:08 -04:00
Chris Lenk 51361216e9 Bump version: 0.2.0 → 0.3.0 2017-10-06 15:40:34 -04:00
Chris Lenk 2f58d7888b Merge branch 'master' of https://github.com/oasis-open/cti-python-stix2 2017-10-06 15:09:35 -04:00
Emmanuelle Vargas-Gonzalez 5577686ee8 Add new STIX2.1 SDOs and additional properties 2017-10-06 15:09:14 -04:00
Chris Lenk e57c36f525 Check custom extension properties is not empty 2017-10-06 15:05:39 -04:00
Chris Lenk d0f3fb0b47 Merge pull request #62 from oasis-open/documentation
Documentation: Fixes #53.
2017-10-06 14:33:14 -04:00
Emmanuelle Vargas-Gonzalez 2b65f7205b Mutex 'name' is required. Bunch of formatting, update test 2017-10-06 14:24:46 -04:00
Chris Lenk 66e57ced25 Fix merge conflicts 2017-10-06 14:19:09 -04:00
Chris Lenk 23e3b3cc20 Fix FileSystemSource.all_versions bug
If `get()` returned a single STIX object, `all_versions()` would return a
list of the properties/values of that object.
2017-10-06 14:02:25 -04:00
Chris Lenk 1821cdb197 Merge pull request #71 from oasis-open/more_ds_tests
FileSystem tests
2017-10-06 13:31:50 -04:00
Chris Lenk 63e9d6af70 Merge pull request #69 from emmanvg/master
Update required properties in SDOs
2017-10-06 13:30:14 -04:00
Chris Lenk 79902f361e Merge pull request #61 from oasis-open/list_comp
frivolous list comprehensions converted to list()
2017-10-06 13:29:22 -04:00
= a36922990f removing list comps 2017-10-06 11:20:18 -04:00
= 205013000d removing debug line 2017-10-06 11:00:39 -04:00
= a26e9b589f FileSystem tests, and test directory of sample stix2 data 2017-10-06 10:56:24 -04:00
Emmanuelle Vargas-Gonzalez 24bc282d7e Update required properties, indicator label and tests. closes #68 2017-10-06 10:29:30 -04:00
Chris Lenk 9ea4344ca7 Make MarkingsMixin private
Partially so it doesn't clog up the markings API documentation.
2017-10-05 20:50:54 -04:00
Chris Lenk 8b702c6985 Minor API docs improvements
- Hide "Bases" below class signatures
- Leave some empty space after tables
2017-10-05 20:44:58 -04:00
Greg Back 1414035e8d Isolate TimestampConstant in test. 2017-10-05 21:54:58 +00:00
Greg Back f3431c97da nested summaries for sources 2017-10-05 18:45:31 +00:00
Richard Piazza 0dc3226048 added test for Timestamp_Constant 2017-10-05 13:43:56 -04:00
= ec34aa952f Merge branch 'documentation' of https://github.com/oasis-open/cti-python-stix2 into documentation 2017-10-04 15:59:04 -04:00
= f7c17d0c07 some progress on CompositeDS guide, but includes some bug fixes in the DataSource API 2017-10-04 15:57:38 -04:00
Chris Lenk 233ee7924e Merge branch 'master' into documentation 2017-10-04 10:38:40 -04:00
Richard Piazza ebd28aca9d Merge branch 'master' of https://github.com/oasis-open/cti-python-stix2 2017-10-04 10:27:18 -04:00
Richard Piazza 3891595250 Use t prefix for timestamp constant 2017-10-04 10:27:06 -04:00
= 5789fbce20 filesystem list comps 2017-10-04 09:47:18 -04:00
= 616ec6bbeb frivalous list comprehensions converted to list() 2017-10-03 16:20:03 -04:00
Chris Lenk 3ca8cf820e Add STIXDomainObject and STIXRelationshipObject 2017-10-03 15:01:55 -04:00
Chris Lenk 2bdf83401a Add a shortcut for marking functions
So marking functions like `add_markings()` can be directly called as methods on
SDO/SRO classes. Note that they return new versions of the objects
because objects are immutable.
2017-10-03 10:28:58 -04:00
= 3b9e52ce19 parsing taxii filters not needed when retrieving by id 2017-10-02 16:43:08 -04:00
Chris Lenk 58db629de8 Add markings functions to top level namespace 2017-10-02 16:09:38 -04:00
Chris Lenk 035f1a6c73 Support MarkingDefinition objs, not just ID strs
(when passed into `add_markings()` or `remove_markings()`)
2017-10-02 12:28:47 -04:00
= fea2499ae2 forgot to pull doc branch down first, after having merged master into doc branch locally (to get access to DataStore/Filter code 2017-09-29 16:03:48 -04:00
= 4af665bf81 merge conflicts 2017-09-29 15:47:39 -04:00
Greg Back 9e21a69c7f Merge branch 'master' into documentation 2017-09-29 19:14:11 +00:00
Greg Back b31b4f29f8 Handle inconsistent error messages between Python 2 and Python 3. 2017-09-29 18:45:15 +00:00
= ffa2242878 code changes brought about by discussion of pull request of 'bug_fixes' branch 2017-09-29 11:24:19 -04:00
Chris Lenk ac97eb8bdc Add Environment documentation (Jupyter)
Has errors, needs #57.
2017-09-25 16:39:58 -04:00
Chris Lenk b6d1bb26de Improve utils docs, rename subpackage docs folders 2017-09-22 14:54:21 -04:00
= 55943847fa updated corresponding tests that would have broke 2017-09-22 11:49:54 -04:00
= 94df10bf8d docstrings redone; code changes for adding/returning STIX objects to FileSystem, Memory, TAXII; code changes for query sets and filters 2017-09-22 11:29:17 -04:00
Chris Lenk eac1ce94de Improve docstrings for Sphinx output
Also remove package and module names from classes and functions.

Also remove stix2.base from docs. We hide all private classes and
functions from the docs, so the only thing the documentation for base
included was STIXJSONEncoder.
2017-09-22 11:24:55 -04:00
Chris Lenk c0fd740e0a Improve autodoc output
- Add markings and sources
- Tidy up some docstrings
2017-09-22 10:01:00 -04:00
Chris Lenk d7efd1f752 Set up Sphinx autodoc
This will automatically generate API documentation from docstrings.
2017-09-21 17:27:13 -04:00
Chris Lenk 21d978acc8 Fix errors when instantiating custom classes
Defining a custom object/observable/extension class with no custom
__init__() function would result in an `AttributeError` or `TypeError`,
depending on if the class sub-classed `object` or not.
2017-09-21 09:11:01 -04:00
Greg Back 463d1e6b28 Merge pull request #52 from oasis-open/environment
Environment layer
2017-09-12 13:59:08 +00:00
Greg Back f00dcb682a Fix imports 2017-09-11 13:00:40 +00:00
Greg Back 774acb23ea Remove extra newline 2017-09-11 11:56:23 +00:00
Chris Lenk 190b639126 Fix memory datastore to pass tests
1) 'stix_data' is now optional; you can set up a MemorySink without
needing a starting set of data.
2) Removed stix2-validator calls. The validator fails when called on our
_STIXBase-derived classes because we store timestamps as datetime
objects, while the validator expects strings. Also, this was the only
datastore that used the validator, and we should be consistent across
all of them. The validator can be added back in later.
2017-09-08 12:49:08 -04:00
Chris Lenk be07c32500 Add parse() to Environment layer
The Environment layer does not keep its own mapping of custom object types.
If we think it likely that users will want to maintain separate lists of
custom object types between two or more Environments, we can add this
later.
2017-09-08 12:40:01 -04:00
Chris Lenk f60331fb77 Improve docstrings for Environment layer 2017-09-08 11:15:10 -04:00
Chris Lenk 4dfb5d2365 Test Environment layer 2017-09-08 09:01:12 -04:00
Richard Piazza ceb88f176e added TimestampConstant 2017-09-07 10:35:31 -04:00
Richard Piazza 95cac595da merge in latest 2017-09-07 10:18:02 -04:00
Chris Lenk 598f38921f Start Environment layer 2017-09-06 16:20:16 -04:00
Greg Back adac43708b Merge pull request #46 from oasis-open/markings
Marking Support
2017-09-05 19:08:45 +00:00
Chris Lenk 42962e6675 Improve markings tests
- Test markings functions with both dictionaries and our _STIXBase-derived
  classes as input.
- Slightly improve test coverage.
- Drop Python 2.6 support.
2017-09-01 16:41:16 -04:00
Chris Lenk cc66e1a492 Make markings function signatures consistent
Put `marking` before `selectors`. The granular marking version of
`is_marked` requires selectors to not be None.
2017-09-01 10:50:01 -04:00
Emmanuelle Vargas-Gonzalez 6f36ea8488 Merge remote-tracking branch 'oasis/master' into datastores 2017-09-01 10:13:57 -04:00
Emmanuelle Vargas-Gonzalez 13f2810b25 Remove name positional argument, clean memory.py redundant codeother minor changes. Increase coverage. 2017-09-01 08:15:50 -04:00
Greg Back 124da846c3 Merge branch 'master' into markings 2017-08-31 20:36:59 +00:00
Greg Back b1054e780a Merge remote-tracking branch 'origin/master' into datastores 2017-08-31 19:52:48 +00:00
Greg Back ba846f9501 Clean up some tests. 2017-08-31 18:23:08 +00:00
Greg Back 7b46283a5c Build filter function map 2017-08-31 18:21:29 +00:00
Greg Back 71d42b0e51 Merge remote-tracking branch 'origin/datastores' into filter 2017-08-31 17:18:20 +00:00
Chris Lenk 9d45a3dca2 Keep MALWARE_KWARGS to a minimal set
...but use an additional set with a description for marking tests.
2017-08-31 12:51:13 -04:00
Chris Lenk 15287959a4 Modify versioning API to work on dictionaries
This includes new_version() and revoke().
2017-08-31 12:28:07 -04:00
clenk 8a33cb7716 Touch up ObjectReferenceProperty checks
- reword "_refs" error
- check with isinstance instead of __class__.__name__
2017-08-30 16:15:05 -04:00
clenk 0e658255a8 Move check to when custom observable is defined
Catch properties named "_ref" or "_refs" that aren't
ObjectReferenceProperty when the custom observable is defined, not when
it is instantiated.
2017-08-30 15:33:28 -04:00
= 22c749d0df filter changes 2017-08-30 11:18:11 -04:00
Emmanuelle Vargas-Gonzalez 8ca2c3390b Minor changes to DataSource.apply_common_filters(). Improve overall code coverage. 2017-08-29 15:15:32 -04:00
Emmanuelle Vargas-Gonzalez b1ac24d46e Minor changes. 2017-08-29 15:08:26 -04:00
Emmanuelle Vargas-Gonzalez 415c53066f Code coverage changes, fix some tests. Add stix2-validator dependency. 2017-08-28 15:19:55 -04:00
Emmanuelle Vargas-Gonzalez aea076103c Update tests to improve coverage. 2017-08-28 14:33:12 -04:00
Emmanuelle Vargas-Gonzalez 160d69b03d Changes to datastores. 2017-08-28 14:32:51 -04:00
Emmanuelle Vargas-Gonzalez 07bbe23a98 Add some tests for custom objects. 2017-08-28 14:32:05 -04:00
Emmanuelle Vargas-Gonzalez 23f36a9a69 Minor changes to custom object decorators. Add new marking decorator. 2017-08-28 14:30:53 -04:00
clenk 095c5066d5 Touch up markings tests
Increase code coverage and s/tlo/sdo/
2017-08-25 15:56:39 -04:00
clenk 0cd75e3fba Increase code coverage 2017-08-24 17:53:43 -04:00
clenk 6fa3c84aa3 Improve tests and coverage for custom content
In ObservableProperty.clean(), parse_observable() will handle the issue
of non-cyber observable objects being presnt in an observable property.
The line raising a ValueError would not be reached so it was removed.
2017-08-24 15:46:36 -04:00
Emmanuelle Vargas-Gonzalez 3822e39243 Remove COMMON_PROPERTIES. 2017-08-24 15:10:09 -04:00
Emmanuelle Vargas-Gonzalez 1dfaaf15ef Minor change. closes #29 2017-08-24 12:54:50 -04:00
Emmanuelle Vargas-Gonzalez dd17e88ae0 Code refactor/clean-up, changed some exceptions. Update docstrings. 2017-08-24 12:47:14 -04:00
clenk ee49e78c72 Add custom extensions to cyber observables
Fix #31.
2017-08-23 18:36:24 -04:00
Emmanuelle Vargas-Gonzalez 8d4c1d55b5 Minor style changes. 2017-08-23 13:12:40 -04:00
Emmanuelle Vargas-Gonzalez f33427328b Update tests for object and granular markings. 2017-08-23 13:07:22 -04:00
Emmanuelle Vargas-Gonzalez 15bff530be Refactor granular_markings.py code and remove unnecessary code in utils.py 2017-08-23 13:06:51 -04:00
Emmanuelle Vargas-Gonzalez f437a4df5b Merge branch 'datastores' of github.com:oasis-open/cti-python-stix2 into datastores 2017-08-22 10:47:23 -04:00
Emmanuelle Vargas-Gonzalez d060abbed5 Updated regex expressions. Thanks to @drothenberg for that contribution! 2017-08-22 10:47:13 -04:00
Greg Back 69eb09c32b Merge remote-tracking branch 'origin/master' into datastores 2017-08-21 22:40:07 +00:00
Greg Back 4cd99f04ea Use version of taxii2-client from PyPI. 2017-08-21 22:16:23 +00:00
clenk 8687521111 Change object markings for immutable SDOs 2017-08-21 13:57:01 -04:00
clenk d4edb8b0bc Validate patterns when creating Indicators 2017-08-18 14:22:57 -04:00
clenk c0d02fbfcd [WIP] Touch up marking code 2017-08-18 12:36:34 -04:00
Emmanuelle Vargas-Gonzalez c64b7de761 Change query dict style for Filter namedtuple. 2017-08-18 12:05:12 -04:00
Richard Piazza fb75de47c5 added TimestampConstant 2017-08-17 14:50:42 -04:00
clenk 14b922ba92 Merge remote-tracking branch 'emmanvg/marking-support' into markings 2017-08-17 12:26:46 -04:00
Emmanuelle Vargas-Gonzalez 681be1a5d9 Make CompositeDataStore subclass DataStore. Remove deduplicate() from CompositeDataSource. 2017-08-16 09:58:33 -04:00
Emmanuelle Vargas-Gonzalez a18804a195 Add ordereddict dependency for 2.6 support. Import change in utils.py 2017-08-15 14:12:21 -04:00
Emmanuelle Vargas-Gonzalez 15b5e107d5 Fix imports, sort requirements. 2017-08-15 13:54:16 -04:00
Emmanuelle Vargas-Gonzalez 4ffc8edeeb Update all tests. Re-organize EXPECTED values, update some regex expressions. 2017-08-15 13:41:51 -04:00
Emmanuelle Vargas-Gonzalez 1b48ad9778 Changes to object serialization. 2017-08-15 13:40:47 -04:00
Emmanuelle Vargas-Gonzalez e3f82effc7 Apply OrderedDict changes to bundle, fix import in sdo.py 2017-08-15 08:24:43 -04:00
Emmanuelle Vargas-Gonzalez cb5c4ad080 Merge pull request #42 from oasis-open/bundles Parse bundles correctly 2017-08-14 15:21:58 -04:00
Emmanuelle Vargas-Gonzalez 569ca34d78 Remove test skip for data_sources. 2017-08-14 15:02:26 -04:00
Emmanuelle Vargas-Gonzalez 226a41e0ff Merge pull request #41 from oasis-open/namedtuple-filters Use Namedtuples for Filters. 2017-08-14 15:01:07 -04:00
Emmanuelle Vargas-Gonzalez 00462eb683 Add hashes property to ExternalReference, more documentation for parse_observable 2017-08-14 14:37:49 -04:00
Emmanuelle Vargas-Gonzalez 26297f9730 Fix call to update(), add a register_marking decorator. Add type to Markings. 2017-08-14 11:52:34 -04:00
Emmanuelle Vargas-Gonzalez 68afd6b38e Minor changes. 2017-08-14 10:36:47 -04:00
Emmanuelle Vargas-Gonzalez 81c9eab730 Apply OrderedDict changes to other.py 2017-08-14 10:34:53 -04:00
Emmanuelle Vargas-Gonzalez e2c9ecccaf Apply OrderedDict changes to Observables. 2017-08-14 10:29:17 -04:00
Emmanuelle Vargas-Gonzalez 1329e2e76f Apply OrderedDict changes to Bundle. 2017-08-14 09:24:41 -04:00
Emmanuelle Vargas-Gonzalez add14c2490 Update CustomObject docstring, re-organize object properties. 2017-08-14 09:06:20 -04:00
Emmanuelle Vargas-Gonzalez ccfcffb2f5 Minor change. 2017-08-14 08:31:08 -04:00
Emmanuelle Vargas-Gonzalez dd2a1db5c1 Change SROs to OrderedDict approach. Removed COMMON_PROPERTIES. 2017-08-14 08:27:49 -04:00
clenk ee8013d782 Parse bundles correctly
This required refactoring parts of the library. Code in __init__.py
merged into bundle.py, which was renamed core.py. Code in other.py was
merged into common.py.

Fixes #40.
2017-08-11 16:18:20 -04:00
Emmanuelle Vargas-Gonzalez 8086447fce Change SDOs to OrderedDict approach. Removed COMMON_PROPERTIES. 2017-08-11 15:12:45 -04:00
Emmanuelle Vargas-Gonzalez 228f488f5b Update commons.py to new OrderedDict format, just in case. 2017-08-11 15:11:54 -04:00
Emmanuelle Vargas-Gonzalez 5172f86a7b Change _STIXBase to output properties in spec order. closes #39 2017-08-11 15:10:44 -04:00
Emmanuelle Vargas-Gonzalez 56d8ca4939 Missing instantiation of STIXdatetime in parser. Added __repr__() to STIXdatetime class. 2017-08-11 15:04:58 -04:00
Emmanuelle Vargas-Gonzalez e52575e01a Add missing call to super() in TAXIICollectionStore. 2017-08-11 09:52:29 -04:00
Emmanuelle Vargas-Gonzalez 86fd3778f5 Formatting changes, replace deduplicate() code in DataSource, missing super() calls to initialize objects. 2017-08-11 08:10:20 -04:00
Greg Back 961dfdc984 Convert rest of code to use namedtuple Filters 2017-08-09 19:25:06 +00:00
Greg Back 87f7503c0a Convert filters to be NamedTuples 2017-08-09 18:49:06 +00:00
Emmanuelle Vargas-Gonzalez a4ead4f6e7 Formatting changes, skip add/remove filter test, change deduplicate() approach. 2017-08-09 13:31:07 -04:00
Greg Back b8c96e37a2 Update to get tests passing 2017-07-20 20:30:04 +00:00