Add external references to object factory
parent
593f16662a
commit
6ddad22810
|
@ -1,10 +1,12 @@
|
|||
|
||||
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.object_markings = object_markings
|
||||
self.granular_markings = granular_markings
|
||||
self.external_references = external_references
|
||||
|
||||
def create(self, cls, **kwargs):
|
||||
if self.created_by is not None:
|
||||
|
@ -13,5 +15,7 @@ class ObjectFactory(object):
|
|||
kwargs['object_marking_refs'] = self.object_markings
|
||||
if self.granular_markings is not None:
|
||||
kwargs['granular_markings'] = self.granular_markings
|
||||
if self.external_references is not None:
|
||||
kwargs['external_references'] = self.external_references
|
||||
|
||||
return cls(**kwargs)
|
||||
|
|
|
@ -37,3 +37,12 @@ def test_object_factory_granular_markings():
|
|||
granular_markings=marking)
|
||||
ind = factory.create(stix2.Indicator, **INDICATOR_KWARGS)
|
||||
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