Пример #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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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'