Пример #1
0
def test_identity_equality():
    a = Identity(b'\x01\x02\x03')
    b = Identity(b'\x01\x02\x03')
    c = Identity(b'\x01\x02\x04')

    assert a == a
    assert a == b
    assert a != c
    assert not a != a
    assert not a != b
    assert not a == c
Пример #2
0
    def from_row(cls, row):
        category, subcategory = parse_device_categories(bytes(row[3:5]))

        return cls(
            identity=Identity.from_string(row[0]),
            alias=row[1],
            description=row[2],
            category=category,
            subcategory=subcategory,
            firmware_version=row[5],
        )
Пример #3
0
def test_identity_parse_invalid():
    with pytest.raises(ValueError):
        Identity.from_string('aB.cD')

    with pytest.raises(ValueError):
        Identity.from_string('aB.cD.ge')

    with pytest.raises(ValueError):
        Identity.from_string('ffffff')
Пример #4
0
def test_set_device():
    database = Database.load_from_file(':memory:')
    identity = Identity(b'\x01\x02\x03')
    database_device = DatabaseDevice(
        identity=identity,
        alias='foo',
        description='',
        category=GenericDeviceCategory(0x42),
        subcategory=GenericSubcategory(0x80),
        firmware_version=0x99,
    )
    database.set_device(*database_device)

    assert database.get_device(identity) == database_device
    assert database.get_device_by_alias('foo') == database_device
Пример #5
0
def test_identity_str():
    ident = Identity(b'\x01\x02\x03')

    assert str(ident) == '01.02.03'
Пример #6
0
def test_identity_repr():
    ident = Identity(b'\x01\x02\x03')

    assert repr(ident) == repr(b'\x01\x02\x03')
Пример #7
0
def test_identity_as_bytes():
    ident = Identity(b'\x01\x02\x03')

    assert bytes(ident) == b'\x01\x02\x03'
Пример #8
0
def test_identity_invalid_id():
    with pytest.raises(ValueError):
        Identity(b'')

    with pytest.raises(ValueError):
        Identity(b'\x01\x02\x03\x04')
Пример #9
0
def test_identity_parse():
    assert Identity.from_string('aB.cD.04') == Identity(b'\xab\xcd\x04')
Пример #10
0
def test_get_device_non_existing():
    database = Database.load_from_file(':memory:')
    assert database.get_device(Identity(b'\x01\x02\x03')) is None