Add external references to object factory
parent
593f16662a
commit
6ddad22810
|
@ -1,10 +1,12 @@
|
||||||
|
|
||||||
class ObjectFactory(object):
|
class ObjectFactory(object):
|
||||||
|
|
||||||
def __init__(self, created_by=None, object_markings=None, granular_markings=None):
|
def __init__(self, created_by=None, object_markings=None,
|
||||||
|
granular_markings=None, external_references=None):
|
||||||
self.created_by = created_by
|
self.created_by = created_by
|
||||||
self.object_markings = object_markings
|
self.object_markings = object_markings
|
||||||
self.granular_markings = granular_markings
|
self.granular_markings = granular_markings
|
||||||
|
self.external_references = external_references
|
||||||
|
|
||||||
def create(self, cls, **kwargs):
|
def create(self, cls, **kwargs):
|
||||||
if self.created_by is not None:
|
if self.created_by is not None:
|
||||||
|
@ -13,5 +15,7 @@ class ObjectFactory(object):
|
||||||
kwargs['object_marking_refs'] = self.object_markings
|
kwargs['object_marking_refs'] = self.object_markings
|
||||||
if self.granular_markings is not None:
|
if self.granular_markings is not None:
|
||||||
kwargs['granular_markings'] = self.granular_markings
|
kwargs['granular_markings'] = self.granular_markings
|
||||||
|
if self.external_references is not None:
|
||||||
|
kwargs['external_references'] = self.external_references
|
||||||
|
|
||||||
return cls(**kwargs)
|
return cls(**kwargs)
|
||||||
|
|
|
@ -37,3 +37,12 @@ def test_object_factory_granular_markings():
|
||||||
granular_markings=marking)
|
granular_markings=marking)
|
||||||
ind = factory.create(stix2.Indicator, **INDICATOR_KWARGS)
|
ind = factory.create(stix2.Indicator, **INDICATOR_KWARGS)
|
||||||
assert "created_by_ref" in ind.granular_markings[0].selectors
|
assert "created_by_ref" in ind.granular_markings[0].selectors
|
||||||
|
|
||||||
|
|
||||||
|
def test_object_factory_external_resource():
|
||||||
|
ext_ref = stix2.ExternalReference(source_name="ACME Threat Intel",
|
||||||
|
description="Threat report")
|
||||||
|
factory = stix2.ObjectFactory(external_references=ext_ref)
|
||||||
|
ind = factory.create(stix2.Indicator, **INDICATOR_KWARGS)
|
||||||
|
assert ind.external_references[0].source_name == "ACME Threat Intel"
|
||||||
|
assert ind.external_references[0].description == "Threat report"
|
||||||
|
|
Loading…
Reference in New Issue