File: iputils_test.py

package info (click to toggle)
capirca 2.0.9-0.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,088 kB
  • sloc: python: 41,464; perl: 49; sh: 32; makefile: 4
file content (31 lines) | stat: -rw-r--r-- 998 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import pytest

import pathlib

from capirca.utils import iputils
from capirca.lib import nacaddr


file_directory = pathlib.Path(__file__).parent.absolute()
exclude_address_testcases = []
with open(str(file_directory)+"/address_exclude_test_cases.txt", 'r') as f:
  for line in f:
    ipstr, exstrs, restrs = line.strip().split(' ')
    ip = nacaddr.IP(ipstr)
    exclude_ips = list(map(nacaddr.IP, exstrs.split(',')))
    expected_results = []
    for i in restrs.split(';'):
      result_strings = i.split(',')
      ip_map = map(nacaddr.IP, result_strings)
      ip_list = list(ip_map)
      expected_results.append(ip_list)
    for ex, res in zip(exclude_ips, expected_results):
      exclude_address_testcases.append((ip, ex, res))

class TestIPUtils:
  @pytest.mark.unit
  @pytest.mark.parametrize("ip,exclude,expected", exclude_address_testcases)
  def test_exclude_address(self, ip, exclude, expected):
    result = iputils.exclude_address(ip, exclude)

    assert list(result) == expected