Commit Graph

1603 Commits (5aadf1ae91e90d1896a351d0aa6c169e5dc1c7bc)

Author SHA1 Message Date
Michael Chisholm 5aadf1ae91 Add some unit tests for attempting to change ID contributing
properties of a 2.1 SCO with UUIDv5 ID, when creating a new
version.
2021-01-20 19:16:22 -05:00
Michael Chisholm 473e7d0068 Change versioning module to use some of the is_* utility
functions.  Changed some ">= 2.1" stix version semantics to be
"== 2.1", because we don't have any version >= 2.1, so they are
currently equivalent, and the is_*() functions don't support
STIX version ranges.  They only support exact versions.  We can
look at this again if a newer STIX version ever emerges.

Also added a class_for_type() function to the registry module,
which was useful for the versioning module changes described
above.  I thought that function would be helpful in the parsing
module, to simplify code there, so I changed that module a bit
to use it.
2021-01-20 16:59:39 -05:00
Michael Chisholm fe2330af07 Improve is_sdo() et al utility functions with respect to
dict/mapping values: do a simple verification of the value's
STIX version, not just its type.  Added a lot more unit tests to
test behavior on dicts.  To make the implementation work, I had
to move the detect_spec_version() function out of the parsing
module and into utils.  So that required small changes at all
its previous call sites.
2021-01-20 16:59:39 -05:00
Michael Chisholm f8c86f7352 Fixups after a rebase. There were several conflict resolutions
and I probably forgot some stuff...
2021-01-20 16:59:39 -05:00
Michael Chisholm bf284d0a0b Fix silly docstring copy-paste typo 2021-01-20 16:59:39 -05:00
Michael Chisholm db1d0b736b Remove registry.get_stix2_class_maps(), since now that the
class map structure is keyed by normal "X.Y" style versions,
the convenience that function provided is no longer necessary.
So it no longer makes sense to have the function (at least,
not for that reason).  Change users of that function to use
the STIX2_OBJ_MAPS structure directly.
2021-01-20 16:59:39 -05:00
Michael Chisholm f88fba6751 Change the stix2 class map structure to be keyed at the top
level with STIX versions in the same format as is used everywhere
else in the API: "X.Y", as opposed to the "vXY" format used by
the version-specific python packages.  This eliminates all of
the awkward conversion from public API format to "vXX" format.

Also a little bit of code rearranging in the registration module
to ensure that some STIX 2.1-specific checks are done whether
version 2.1 is given explicitly or is defaulted to.

In the same module I also added a missing import of
stix2.properties, since my IDE was claiming it could not find a
function from that module.
2021-01-20 16:59:38 -05:00
Michael Chisholm 188f704b28 Remove a "this needs to be moved into the stix2 library" comment,
since this *is* in the stix2 library!
2021-01-20 16:59:38 -05:00
Michael Chisholm 24307626b0 Move get_stix2_class_maps() from .utils to .registry (since it's
really just a simple accessor into the class maps table), and
change other code to use it, in places where it was simple and
made sense.
2021-01-20 16:59:38 -05:00
Michael Chisholm 0f2ce0ac72 Add unit tests for the is_*() utility type checking functions. 2021-01-20 16:59:38 -05:00
Michael Chisholm 51937232db Fix to an import statement which was necessary due to the
circular import refactoring.  I think I just forgot to include
this in the previous commit...
2021-01-20 16:59:38 -05:00
Michael Chisholm fa6cff8a34 WIP adding is_sdo() et al functions to this library. On hold
while I address circular import problems.
2021-01-20 16:59:38 -05:00
Chris Lenk 03b3423cbb
Merge pull request #481 from chisholm/parsing_refactoring
Refactor stix2.parsing into more focused modules
2021-01-20 10:47:36 -05:00
Chris Lenk a0d535336e Merge 'master' and fix imports for consistency 2021-01-15 12:34:10 -05:00
Chris Lenk 7de5c458bb Fix import sort order 2021-01-15 10:27:39 -05:00
Chris Lenk a3f20dde7a Use consistent import style in parsing.py 2021-01-15 10:27:23 -05:00
Chris Lenk 9ed62699ca
Merge pull request #482 from emmanvg/migrate-to-gh-actions
Migrate test to GitHub Actions, update test & check configuration
2021-01-14 15:38:01 -05:00
Chris Lenk 70d36f5aba
Update tox.ini
Only need to perform pre-commit and packaging check for one python version.
2021-01-14 15:36:45 -05:00
Emmanuelle Vargas-Gonzalez 0004ef1861 update Python build matrix 2021-01-14 14:39:46 -05:00
Emmanuelle Vargas-Gonzalez e4d68e634d assign a name to the jobs 2021-01-13 19:54:31 -05:00
Emmanuelle Vargas-Gonzalez 983f931ecd some missing fixes...
- for some reason they only showed up on PY38
2021-01-13 19:48:33 -05:00
Emmanuelle Vargas-Gonzalez 85c14d1502 all changes from add-trailing-commas v2.0.2 2021-01-13 17:52:15 -05:00
Emmanuelle Vargas-Gonzalez acc90c2f4c changes brought by isort and add-trailing-commas 2021-01-13 17:50:21 -05:00
Emmanuelle Vargas-Gonzalez 7c46cda9a2 update .pre-commit-config.yaml 2021-01-13 17:49:26 -05:00
Emmanuelle Vargas-Gonzalez e980b5d9e6 test harness changes
- update badge on README.rst
- update to tox.ini
- update pre-commit configuration
2021-01-13 17:20:21 -05:00
Emmanuelle Vargas-Gonzalez adbcd80a1d delete .travis.yml 2021-01-13 17:12:47 -05:00
Emmanuelle Vargas-Gonzalez d5df655c08 add initial workflow configuration 2021-01-13 17:09:30 -05:00
Emmanuelle Vargas-Gonzalez 233ea59df7 add python-ci-tests.yml 2021-01-13 17:07:53 -05:00
Michael Chisholm 5d016142cf Small tweaks: move the definition of DEFAULT_VERSION from the
top-level stix2 package to stix2.version but import it into
stix2.  This makes it possible for someone to get the symbol
without needing to import all of stix2.

Change an "import X" style import to "from X import Y" in
stix2/__init__.py to be consistent with the other imports in
that file.
2021-01-13 11:22:34 -05:00
Michael Chisholm f51e309775 Refactor stix2.parsing into more focused modules:
- stix2.registry, which contains the class mapping structure
  and code for scanning stix2 modules for its initial population
- stix2.registration, which contains code used to register custom
  STIX types with the registry
- stix2.parsing, which contains code for creating instances of
  registered stix2 classes from raw dicts.

This is intended to reduce circular import problems, by giving
dependent code the ability to import a module which has exactly
the functionality it needs, without pulling a lot of other stuff
it doesn't need.  Fewer imports means less chance of an import
cycle.
2021-01-08 22:08:33 -05:00
Chris Lenk 0866df0546 Merge branch 'khdesai-master'
Fixes #476.
2020-12-11 11:33:22 -05:00
Chris Lenk 71889b173f Touch up filesystem docs 2020-12-11 11:28:26 -05:00
Desai, Kartikey H 20a9bb316c Fix #476 2020-12-10 22:10:24 -06:00
Chris Lenk 5bddf9321e Bump version: 2.0.2 → 2.1.0 2020-11-20 17:37:58 -05:00
Chris Lenk a19eb54948 Update CHANGELOG for v2.1.0 2020-11-20 17:36:56 -05:00
Chris Lenk b55c3bb1df Fix pattern equivalence doc style for consistency 2020-11-20 16:34:11 -05:00
Chris Lenk f9e9c50db9
Merge pull request #474 from emmanvg/472-issue
fix ordering problem with Class definitions
2020-11-20 10:35:42 -05:00
Emmanuelle Vargas-Gonzalez 119364c889
Merge branch 'master' into 472-issue 2020-11-20 10:02:46 -05:00
Chris Lenk a82dc5e813
Merge pull request #475 from oasis-open/equivalence-indicator-patterns
Use pattern equivalence in indicators
2020-11-20 09:56:35 -05:00
Chris Lenk 5b174c8a86
Merge pull request #473 from emmanvg/471-issue
fix typo for Class X509V3ExtensionsType
2020-11-20 09:56:20 -05:00
Chris Lenk 53f451b097 Use pattern equivalence in indicators 2020-11-20 09:33:56 -05:00
Emmanuelle Vargas-Gonzalez e7242c9ae6 forgot one... 2020-11-19 08:48:57 -05:00
Emmanuelle Vargas-Gonzalez 49985cc51d fix ordering problem with Class definitions 2020-11-18 19:01:12 -05:00
Emmanuelle Vargas-Gonzalez c9bafaf5ae fix typo for Class X509V3ExtensionsType 2020-11-18 18:08:57 -05:00
Chris Lenk 3cef32edb2
Merge pull request #470 from chisholm/where_sighted_refs_types
Fix Sighting bug with reference type enforcement on where_sighted_refs
2020-11-16 17:12:21 -05:00
Michael Chisholm 169ef87bc2 pre-commit stylistic fixes 2020-11-16 15:10:06 -05:00
Michael Chisholm f5bbbe7a3b Fix bug with reference type enforcement on property
where_sighted_refs on Sighting.
2020-11-16 15:04:24 -05:00
Chris Lenk a751df32c6
Fix Location semantic equivalence check for Location objects without the latitude and longitude properties (#467)
* Fix Location semantic equivalence check for Location objects without the latitude and longitude properties.

Uses contribution from @zrush-mitre (#464).

Fixes #462.

* Remove a line
2020-11-10 12:55:17 -05:00
Chris Lenk cfb518a84b
Merge pull request #465 from oasis-open/equivalence-documentation
Equivalence module documentation fix
2020-10-18 22:03:35 -04:00
Chris Lenk e08a26a39c Correct variable name 2020-10-18 21:09:07 -04:00