コード例 #1
0
def test_display_results():
    parser = Parser()
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1',
        'ipv4': '0.0.0.0',
        'ipv6': '1212::1'
    }
    endpoints = [endpoint]
    parser.display_results(
        endpoints,
        ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4', 'IPv6'],
        ipv4_only=False,
        ipv6_only=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv6'],
        ipv4_only=False,
        ipv4_and_ipv6=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True)
コード例 #2
0
ファイル: test_main.py プロジェクト: rubiruchi/poseidon
def test_remove_endpoint():
    s = SDNConnect()
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00'}
    s.endpoints.append(endpoint)
    s.remove_endpoint(endpoint)
コード例 #3
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_prev_ipv6_oses():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    GetData._get_prev_ipv6_oses(endpoint)
コード例 #4
0
def test_Endpoint():
    """
    Tests Endpoint
    """
    endpoint = Endpoint('foo')
    b = endpoint.encode()
    c = EndpointDecoder(b).get_endpoint()
    a = {'tenant': 'foo', 'mac': '00:00:00:00:00:00'}
    hashed_val = Endpoint.make_hash(a)
コード例 #5
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_ipv6_os():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1', 'ipv6': '1212::1'}
    endpoint.metadata = {'ipv6_addresses': {}}
    ipv6_os = GetData._get_ipv6_os(endpoint)
    assert ipv6_os == 'NO DATA'
    endpoint.metadata = {'ipv6_addresses': {'1212::1': {'os': 'foo'}}}
    ipv6_os = GetData._get_ipv6_os(endpoint)
    assert ipv6_os == 'foo'
コード例 #6
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_ipv6_rdns():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv4': '0.0.0.0', 'ipv4_subnet': '0.0.0.0/24'}
    ipv6_rdns = GetData._get_ipv6_rdns(endpoint)
    assert ipv6_rdns == 'NO DATA'
    endpoint.endpoint_data = {'ipv6_rdns': 'foo.internal', 'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv4': '0.0.0.0', 'ipv4_subnet': '0.0.0.0/24'}
    ipv6_rdns = GetData._get_ipv6_rdns(endpoint)
    assert ipv6_rdns == 'foo.internal'
コード例 #7
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_ether_vendor():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv4': '0.0.0.0', 'ipv4_subnet': '0.0.0.0/24'}
    ether_vendor = GetData._get_ether_vendor(endpoint)
    assert ether_vendor == 'NO DATA'
    endpoint.endpoint_data = {'ether_vendor': 'VENDOR', 'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv4': '0.0.0.0', 'ipv4_subnet': '0.0.0.0/24'}
    ether_vendor = GetData._get_ether_vendor(endpoint)
    assert ether_vendor == 'VENDOR'
コード例 #8
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_ipv6_subnet():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv6': '1212::1'}
    ipv6_subnet = GetData._get_ipv6_subnet(endpoint)
    assert ipv6_subnet == 'NO DATA'
    endpoint.endpoint_data = {'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv6': '1212::1', 'ipv6_subnet': '1212::1/64'}
    ipv6_subnet = GetData._get_ipv6_subnet(endpoint)
    assert ipv6_subnet == '1212::1/64'
コード例 #9
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_ipv4_subnet():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv4': '0.0.0.0'}
    ipv4_subnet = GetData._get_ipv4_subnet(endpoint)
    assert ipv4_subnet == 'NO DATA'
    endpoint.endpoint_data = {'tenant': 'foo', 'mac': '00:00:00:00:00:00',
                              'segment': 'foo', 'port': '1', 'ipv4': '0.0.0.0', 'ipv4_subnet': '0.0.0.0/24'}
    ipv4_subnet = GetData._get_ipv4_subnet(endpoint)
    assert ipv4_subnet == '0.0.0.0/24'
コード例 #10
0
def test_endpoints_by_mac():
    s = SDNConnect()
    endpoints = s.endpoints_by_mac('00:00:00:00:00:01')
    assert endpoints == []
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1'}
    s.endpoints.append(endpoint)
    endpoint2 = s.endpoints_by_mac('00:00:00:00:00:00')
    assert [endpoint] == endpoint2
コード例 #11
0
def test_endpoints_by_ip():
    s = SDNConnect()
    endpoints = s.endpoints_by_ip('10.0.0.1')
    assert endpoints == []
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1', 'ipv4': '10.0.0.1', 'ipv6': 'None'}
    s.endpoints.append(endpoint)
    endpoint2 = s.endpoints_by_ip('10.0.0.1')
    assert [endpoint] == endpoint2
コード例 #12
0
def test_endpoint_by_hash():
    s = SDNConnect()
    endpoint = s.endpoint_by_hash('foo')
    assert endpoint == None
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1'}
    s.endpoints.append(endpoint)
    endpoint2 = s.endpoint_by_hash('foo')
    assert endpoint == endpoint2
コード例 #13
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_next_state():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    state = GetData._get_next_state(endpoint)
    assert state == 'None'
コード例 #14
0
def test_endpoint_by_name():
    s = SDNConnect()
    endpoint = s.endpoint_by_name('foo')
    assert endpoint == None
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1'}
    s.endpoints[endpoint.name] = endpoint
    endpoint2 = s.endpoint_by_name('foo')
    assert endpoint == endpoint2
コード例 #15
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_ignored():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    ignored = GetData._get_ignored(endpoint)
    assert ignored == 'False'
コード例 #16
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_port():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    port = GetData._get_port(endpoint)
    assert port == '1'
コード例 #17
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_vlan():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'vlan': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    vlan = GetData._get_vlan(endpoint)
    assert vlan == 'foo'
コード例 #18
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_mac():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    mac = GetData._get_mac(endpoint)
    assert mac == '00:00:00:00:00:00'
コード例 #19
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_switch():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    switch = GetData._get_switch(endpoint)
    assert switch == 'foo'
コード例 #20
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_name():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    name = GetData._get_name(endpoint)
    assert name == 'foo'
コード例 #21
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_last_seen():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1'
    }
    endpoint.p_prev_states = [('unknown', 1551711125)]
    GetData._get_last_seen(endpoint)
コード例 #22
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_display_results():
    parser = Parser()
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'vlan': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1',
        'ipv4': '0.0.0.0',
        'ipv6': '1212::1'
    }
    endpoints = [endpoint]
    parser.display_results(
        endpoints,
        ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4', 'IPv6'],
        ipv4_only=False,
        ipv6_only=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv6'],
        ipv4_only=False,
        ipv4_and_ipv6=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True,
        unique=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True,
        nonzero=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True,
        nonzero=True,
        unique=True)
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True,
        nonzero=True,
        unique=True,
        output_format="csv")
    parser.display_results(
        endpoints, ['ID', 'MAC Address', 'Switch', 'Port', 'VLAN', 'IPv4'],
        ipv4_only=False,
        ipv4_and_ipv6=True,
        nonzero=True,
        unique=True,
        output_format="json")
コード例 #23
0
ファイル: test_actions.py プロジェクト: rubiruchi/poseidon
def test_Actions():
    """
    Tests Actions
    """
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {'mac': '00:00:00:00:00:00'}
    s = SDNConnect()
    a = Actions(endpoint, s.sdnc)
    a.mirror_endpoint()
    a.unmirror_endpoint()
    a.shutdown_endpoint()
コード例 #24
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_ipv6():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1',
        'ipv6': '1212::1'
    }
    ipv6 = GetData._get_ipv6(endpoint)
    assert ipv6 == '1212::1'
コード例 #25
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_ipv4():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1',
        'ipv4': '0.0.0.0'
    }
    ipv4 = GetData._get_ipv4(endpoint)
    assert ipv4 == '0.0.0.0'
コード例 #26
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_role():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1'}
    endpoint.metadata = {'mac_addresses': {}}
    role = GetData._get_role(endpoint)
    assert role == 'NO DATA'
    endpoint.metadata = {'mac_addresses': {
        '00:00:00:00:00:00': {'1551711125': {'labels': ['foo']}}}}
    role = GetData._get_role(endpoint)
    assert role == 'foo'
コード例 #27
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_role_confidence():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1'}
    endpoint.metadata = {'mac_addresses': {}}
    confidence = GetData._get_role_confidence(endpoint)
    assert confidence == 'NO DATA'
    endpoint.metadata = {'mac_addresses': {
        '00:00:00:00:00:00': {'1551711125': {'confidences': [10.0]}}}}
    confidence = GetData._get_role_confidence(endpoint)
    assert confidence == '10.0'
コード例 #28
0
ファイル: test_cli.py プロジェクト: sorinros/poseidon
def test_get_behavior():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo', 'mac': '00:00:00:00:00:00', 'segment': 'foo', 'port': '1'}
    endpoint.metadata = {'mac_addresses': {}}
    behavior = GetData._get_behavior(endpoint)
    assert behavior == 'NO DATA'
    endpoint.metadata = {'mac_addresses': {
        '00:00:00:00:00:00': {'1551711125': {'behavior': 'abnormal'}}}}
    behavior = GetData._get_behavior(endpoint)
    assert behavior == 'abnormal'
コード例 #29
0
ファイル: test_cli.py プロジェクト: scwright027/poseidon
def test_get_acls():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1',
        'ipv4': '0.0.0.0'
    }
    endpoint.acl_data = []
    acls = GetData._get_acls(endpoint)
    assert acls == '[]'
コード例 #30
0
ファイル: test_cli.py プロジェクト: jomarquez/poseidon
def test_get_ipv4_os():
    endpoint = Endpoint('foo')
    endpoint.endpoint_data = {
        'tenant': 'foo',
        'mac': '00:00:00:00:00:00',
        'segment': 'foo',
        'port': '1',
        'ipv4': '0.0.0.0'
    }
    endpoint.metadata = {'ipv4_addresses': {}}
    ipv4_os = GetData._get_ipv4_os(endpoint)
    assert ipv4_os == NO_DATA
    endpoint.metadata = {'ipv4_addresses': {'0.0.0.0': {'os': 'foo'}}}
    ipv4_os = GetData._get_ipv4_os(endpoint)
    assert ipv4_os == 'foo'