Exemplo n.º 1
0
def test_extension_property_invalid3():
    ext_prop = ExtensionsProperty(spec_version="2.0")
    with pytest.raises(ExtraPropertiesError):
        ext_prop.clean(
            {
                'windows-pebinary-ext': {
                    'pe_type': 'exe',
                    'abc': 123,
                },
            },
            False,
        )

    result = ext_prop.clean(
        {
            'windows-pebinary-ext': {
                'pe_type': 'exe',
                'abc': 123,
            },
        },
        True,
    )

    assert isinstance(
        result[0]["windows-pebinary-ext"],
        stix2.v20.WindowsPEBinaryExt,
    )
    assert result[0]["windows-pebinary-ext"]["abc"] == 123
    assert result[1]
Exemplo n.º 2
0
def test_extension_property_valid():
    ext_prop = ExtensionsProperty(spec_version="2.0")
    result = ext_prop.clean(
        {
            'windows-pebinary-ext': {
                'pe_type': 'exe',
            },
        },
        False,
    )

    assert isinstance(
        result[0]["windows-pebinary-ext"],
        stix2.v20.WindowsPEBinaryExt,
    )
    assert not result[1]

    result = ext_prop.clean(
        {
            'windows-pebinary-ext': {
                'pe_type': 'exe',
            },
        },
        True,
    )

    assert isinstance(
        result[0]["windows-pebinary-ext"],
        stix2.v20.WindowsPEBinaryExt,
    )
    assert not result[1]
Exemplo n.º 3
0
def test_extension_property_invalid2():
    ext_prop = ExtensionsProperty(spec_version="2.0", enclosing_type='file')
    with pytest.raises(CustomContentError):
        ext_prop.clean({
            'foobar-ext': {
                'pe_type': 'exe',
            },
        }, )
Exemplo n.º 4
0
def test_extension_property_invalid_type():
    ext_prop = ExtensionsProperty(enclosing_type='indicator')
    with pytest.raises(ValueError) as excinfo:
        ext_prop.clean({
            'windows-pebinary-ext': {
                'pe_type': 'exe',
            },
        }, )
    assert "Can't parse unknown extension" in str(excinfo.value)
def test_extension_property_invalid_type():
    ext_prop = ExtensionsProperty(spec_version="2.0",
                                  enclosing_type='indicator')
    with pytest.raises(CustomContentError) as excinfo:
        ext_prop.clean(
            {
                'windows-pebinary-ext': {
                    'pe_type': 'exe',
                },
            },
            False,
        )
    assert "Can't parse unknown extension" in str(excinfo.value)
def test_extension_property_valid():
    ext_prop = ExtensionsProperty(spec_version='2.1', enclosing_type='file')
    assert ext_prop({
        'windows-pebinary-ext': {
            'pe_type': 'exe',
        },
    })
Exemplo n.º 7
0
 class SomeSCO(stix2.v21._Observable):
     _type = "some-sco"
     _properties = OrderedDict((
         ('type', TypeProperty(_type, spec_version='2.1')),
         ('id', IDProperty(_type, spec_version='2.1')),
         (
             'extensions',
             ExtensionsProperty(
                 spec_version='2.1',
                 enclosing_type=_type,
             ),
         ),
         ('string', StringProperty()),
         ('int', IntegerProperty()),
         ('float', FloatProperty()),
         ('bool', BooleanProperty()),
         ('list', ListProperty(IntegerProperty())),
         ('dict', DictionaryProperty(spec_version="2.1")),
     ))
     _id_contributing_properties = [
         'string',
         'int',
         'float',
         'bool',
         'list',
         'dict',
     ]
Exemplo n.º 8
0
 class SomeSCO(stix2.v21._Observable):
     _type = "some-sco"
     _properties = OrderedDict((
         ('type', TypeProperty(_type, spec_version='2.1')),
         ('id', IDProperty(_type, spec_version='2.1')),
         ('extensions', ExtensionsProperty(spec_version='2.1')),
     ))
     _id_contributing_properties = []
def test_extension_property_invalid2():
    ext_prop = ExtensionsProperty(spec_version='2.1')
    with pytest.raises(CustomContentError):
        ext_prop.clean(
            {
                'foobar-ext': {
                    'pe_type': 'exe',
                },
            },
            False,
        )

    result = ext_prop.clean(
        {
            'foobar-ext': {
                'pe_type': 'exe',
            },
        }, True,
    )
    assert result == ({"foobar-ext": {"pe_type": "exe"}}, True)
Exemplo n.º 10
0
 class SomeSCO(stix2.v21._Observable):
     _type = "some-sco"
     _properties = OrderedDict((
         ('type', TypeProperty(_type, spec_version='2.1')),
         ('id', IDProperty(_type, spec_version='2.1')),
         (
             'extensions',
             ExtensionsProperty(
                 spec_version='2.1',
                 enclosing_type=_type,
             ),
         ),
         ('sub_obj', EmbeddedObjectProperty(type=SubObj)),
     ))
     _id_contributing_properties = ['sub_obj']
Exemplo n.º 11
0
 class SomeSCO(stix2.v21._Observable):
     _type = "some-sco"
     _properties = OrderedDict((
         ('type', TypeProperty(_type, spec_version='2.1')),
         ('id', IDProperty(_type, spec_version='2.1')),
         (
             'extensions',
             ExtensionsProperty(
                 spec_version='2.1',
                 enclosing_type=_type,
             ),
         ),
         ('hashes', HashesProperty(HASHING_ALGORITHM)),
     ))
     _id_contributing_properties = ['hashes']
Exemplo n.º 12
0
def test_extension_property_invalid1():
    ext_prop = ExtensionsProperty(spec_version='2.1', enclosing_type='file')
    with pytest.raises(ValueError):
        ext_prop.clean(1)
Exemplo n.º 13
0
def test_extension_property_invalid(data):
    ext_prop = ExtensionsProperty(enclosing_type='file')
    with pytest.raises(ValueError):
        ext_prop.clean(data)
Exemplo n.º 14
0
def test_extension_property_invalid1():
    ext_prop = ExtensionsProperty(spec_version="2.0")
    with pytest.raises(ValueError):
        ext_prop.clean(1, False)