Ejemplo n.º 1
0
def test_add_protocol(patch_protocols, valid_params):
    proto = protocols.Protocol(**valid_params)
    protocols.add_protocol(proto)
    assert protocols.PROTOCOLS == [proto]
    assert proto.name in protocols._names_to_protocols
    assert proto.code in protocols._codes_to_protocols
    proto = protocols.Protocol(protocols.P_TCP, "tcp", "uint16be")
Ejemplo n.º 2
0
def test_add_protocol(patch_protocols):
    proto = protocols.Protocol(**valid_params())
    protocols.add_protocol(proto)
    assert protocols.PROTOCOLS == [proto]
    assert proto.name in protocols._names_to_protocols
    assert proto.code in protocols._codes_to_protocols
    proto = protocols.Protocol(
        protocols.P_TCP, 16, "tcp", protocols.code_to_varint(protocols.P_TCP))
Ejemplo n.º 3
0
def test_add_protocol(valid_params):
    registry = protocols.ProtocolRegistry()
    proto = protocols.Protocol(**valid_params)
    registry.add(proto)
    assert proto.name in registry._names_to_protocols
    assert proto.code in registry._codes_to_protocols
    assert registry.find(proto.name) is registry.find(proto.code) is proto
Ejemplo n.º 4
0
def test_add_protocol_twice(patch_protocols):
    proto = protocols.Protocol(**valid_params())
    protocols.add_protocol(proto)
    with pytest.raises(ValueError):
        protocols.add_protocol(proto)
    del protocols._names_to_protocols[proto.name]
    with pytest.raises(ValueError):
        protocols.add_protocol(proto)
    del protocols._codes_to_protocols[proto.code]
    protocols.add_protocol(proto)
    assert protocols.PROTOCOLS == [proto, proto]
Ejemplo n.º 5
0
def test_add_protocol_twice(patch_protocols, valid_params):
    proto = protocols.Protocol(**valid_params)
    protocols.add_protocol(proto)
    with pytest.raises(exceptions.ProtocolExistsError):
        protocols.add_protocol(proto)
    del protocols._names_to_protocols[proto.name]
    with pytest.raises(exceptions.ProtocolExistsError):
        protocols.add_protocol(proto)
    del protocols._codes_to_protocols[proto.code]
    protocols.add_protocol(proto)
    assert protocols.PROTOCOLS == [proto, proto]
Ejemplo n.º 6
0
def test_add_protocol_twice(valid_params):
    registry = protocols.ProtocolRegistry()
    proto = registry.add(protocols.Protocol(**valid_params))

    with pytest.raises(exceptions.ProtocolExistsError):
        registry.add(proto)
    del registry._names_to_protocols[proto.name]
    with pytest.raises(exceptions.ProtocolExistsError):
        registry.add(proto)
    del registry._codes_to_protocols[proto.code]
    registry.add(proto)
Ejemplo n.º 7
0
def test_add_protocol_lock(valid_params):
    registry = protocols.REGISTRY.copy(unlock=True)
    assert not registry.locked
    registry.lock()
    assert registry.locked

    with pytest.raises(exceptions.ProtocolRegistryLocked):
        registry.add(protocols.Protocol(**valid_params))
    with pytest.raises(exceptions.ProtocolRegistryLocked):
        registry.add_alias_name("tcp", "abcdef")
    with pytest.raises(exceptions.ProtocolRegistryLocked):
        registry.add_alias_code(0x4, 0x123456)
Ejemplo n.º 8
0
def test_invalid_vcode(valid_params, invalid_vcode):
    valid_params['vcode'] = invalid_vcode
    with pytest.raises(ValueError):
        protocols.Protocol(**valid_params)
Ejemplo n.º 9
0
def test_invalid_name(valid_params, invalid_name):
    valid_params['name'] = invalid_name
    with pytest.raises(ValueError):
        protocols.Protocol(**valid_params)
Ejemplo n.º 10
0
def test_invalid_code(valid_params, invalid_code):
    assert invalid_code not in protocols._CODES
    valid_params['code'] = invalid_code
    with pytest.raises(ValueError):
        protocols.Protocol(**valid_params)
Ejemplo n.º 11
0
def test_valid(valid_params):
    proto = protocols.Protocol(**valid_params)
    for key in valid_params:
        assert getattr(proto, key) == valid_params[key]
Ejemplo n.º 12
0
def test_invalid_codec(valid_params, invalid_codec):
    valid_params['codec'] = invalid_codec
    with pytest.raises(TypeError):
        protocols.Protocol(**valid_params)