Allow key-based access along with attribute access

stix2.1
Greg Back 2017-01-17 15:03:56 -08:00
parent 31cebdd34a
commit eeec5a4ce3
2 changed files with 12 additions and 1 deletions

View File

@ -19,7 +19,7 @@ def format_datetime(dt):
# - modified
class Indicator:
class Indicator(object):
# REQUIRED (Indicator):
# - type
# - labels
@ -27,6 +27,9 @@ class Indicator:
# - valid_from
required = ['']
def __getitem__(self, key):
return getattr(self, key)
def __init__(self, type='indicator', id=None, created=None, modified=None,
labels=None, pattern=None, valid_from=None):
now = datetime.now(tz=pytz.UTC)

View File

@ -68,6 +68,14 @@ def test_indicator_autogenerated_fields():
assert indicator.pattern == "[file:hashes.MD5 = 'd41d8cd98f00b204e9800998ecf8427e']"
assert indicator.valid_from is not None
assert indicator['type'] == 'indicator'
assert indicator['id'].startswith('indicator--')
assert indicator['created'] is not None
assert indicator['modified'] is not None
assert indicator['labels'] == ['malicious-activity']
assert indicator['pattern'] == "[file:hashes.MD5 = 'd41d8cd98f00b204e9800998ecf8427e']"
assert indicator['valid_from'] is not None
def test_indicator_type_must_be_indicator():
with pytest.raises(ValueError) as excinfo: