Ejemplo n.º 1
0
def test_return_value(tmpdir):
    snooping_data = [
        ["switch", "mac", "ip", "vlan", "interface"],
        ["sw1", "00:09:BB:3D:D6:58", "10.1.10.2", "10", "FastEthernet0/1"],
        ["sw1", "00:04:A3:3E:5B:69", "10.1.5.2", "5", "FastEthernet0/10"],
        ["sw1", "00:05:B3:7E:9B:60", "10.1.5.4", "5", "FastEthernet0/9"],
        ["sw1", "00:07:BC:3F:A6:50", "10.1.10.6", "10", "FastEthernet0/3"],
        [
            "sw1", "00:09:BC:3F:A6:50", "192.168.100.100", "1",
            "FastEthernet0/7"
        ],
        ["sw2", "00:A9:BB:3D:D6:58", "10.1.10.20", "10", "FastEthernet0/7"],
        ["sw2", "00:B4:A3:3E:5B:69", "10.1.5.20", "5", "FastEthernet0/5"],
        ["sw2", "00:C5:B3:7E:9B:60", "10.1.5.40", "5", "FastEthernet0/9"],
        ["sw2", "00:A9:BC:3F:A6:50", "10.1.10.60", "20", "FastEthernet0/2"],
        ["sw3", "00:E9:BC:3F:A6:50", "100.1.1.6", "3", "FastEthernet0/20"],
        ["sw3", "00:E9:22:11:A6:50", "100.1.1.7", "3", "FastEthernet0/21"],
    ]
    sh_dhcp_snoop_files = [
        "sw1_dhcp_snooping.txt",
        "sw2_dhcp_snooping.txt",
        "sw3_dhcp_snooping.txt",
    ]
    dest_filename = tmpdir.mkdir("test_tasks").join("output.csv")
    return_value = task_17_1.write_dhcp_snooping_to_csv(
        sh_dhcp_snoop_files, dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(snooping_data)

    assert return_value == None, "Функция должна возвращать None"
    assert (sorted(csv_content) == correct_return_value
            ), "Функция возвращает неправильное значение"
Ejemplo n.º 2
0
def test_return_value(tmpdir):
    snooping_data = [
        ['switch', 'mac', 'ip', 'vlan', 'interface'],
        ['sw1', '00:09:BB:3D:D6:58', '10.1.10.2', '10', 'FastEthernet0/1'],
        ['sw1', '00:04:A3:3E:5B:69', '10.1.5.2', '5', 'FastEthernet0/10'],
        ['sw1', '00:05:B3:7E:9B:60', '10.1.5.4', '5', 'FastEthernet0/9'],
        ['sw1', '00:07:BC:3F:A6:50', '10.1.10.6', '10', 'FastEthernet0/3'],
        [
            'sw1', '00:09:BC:3F:A6:50', '192.168.100.100', '1',
            'FastEthernet0/7'
        ],
        ['sw2', '00:A9:BB:3D:D6:58', '10.1.10.20', '10', 'FastEthernet0/7'],
        ['sw2', '00:B4:A3:3E:5B:69', '10.1.5.20', '5', 'FastEthernet0/5'],
        ['sw2', '00:C5:B3:7E:9B:60', '10.1.5.40', '5', 'FastEthernet0/9'],
        ['sw2', '00:A9:BC:3F:A6:50', '10.1.10.60', '20', 'FastEthernet0/2'],
        ['sw3', '00:E9:BC:3F:A6:50', '100.1.1.6', '3', 'FastEthernet0/20'],
        ['sw3', '00:E9:22:11:A6:50', '100.1.1.7', '3', 'FastEthernet0/21'],
    ]
    sh_dhcp_snoop_files = [
        'sw1_dhcp_snooping.txt', 'sw2_dhcp_snooping.txt',
        'sw3_dhcp_snooping.txt'
    ]
    dest_filename = tmpdir.mkdir('test_tasks').join('output.csv')
    return_value = task_17_1.write_dhcp_snooping_to_csv(
        sh_dhcp_snoop_files, dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(snooping_data)

    assert return_value == None, "Функция должна возвращать None"
    assert sorted(csv_content) == correct_return_value,\
            "Функция возвращает неправильное значение"
Ejemplo n.º 3
0
def test_return_value(tmpdir):
    """
    Проверка работы функции
    """
    unique_data = [
        ["Name", "Email", "Last Changed"],
        ["Kuiil", "*****@*****.**", "20/04/2015 21:56"],
        ["Chewie", "*****@*****.**", "10/02/2019 22:45"],
        ["Cara Dune", "*****@*****.**", "11/10/2019 14:05"],
        ["Mandalorian", "*****@*****.**", "10/11/2019 12:11"],
        ["D-O", "*****@*****.**", "15/12/2019 22:45"],
        ["BB-8", "*****@*****.**", "16/12/2019 17:20"],
        ["C-3PO", "*****@*****.**", "16/12/2019 17:24"],
        ["Ben Solo", "*****@*****.**", "21/12/2019 12:25"],
        ["R2D2", "*****@*****.**", "23/10/2018 05:10"],
    ]
    source_filename = "mail_log.csv"
    dest_filename = tmpdir.mkdir("test_tasks").join("output.csv")
    return_value = task_17_4.write_last_log_to_csv(source_filename,
                                                   dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(unique_data)

    assert (
        return_value == None
    ), f"По заданию функция должна возвращать None, а возвращает {type(return_value).__name__}"
    assert (sorted(csv_content) == correct_return_value
            ), "Функция возвращает неправильное значение"
Ejemplo n.º 4
0
def test_function_return_value_different_args(tmpdir):
    """
    Проверка работы функции с другими аргументами
    """
    snooping_data = [
        ["switch", "mac", "ip", "vlan", "interface"],
        ["sw1", "00:09:BB:3D:D6:58", "10.1.10.2", "10", "FastEthernet0/1"],
        ["sw1", "00:04:A3:3E:5B:69", "10.1.5.2", "5", "FastEthernet0/10"],
        ["sw1", "00:05:B3:7E:9B:60", "10.1.5.4", "5", "FastEthernet0/9"],
        ["sw1", "00:07:BC:3F:A6:50", "10.1.10.6", "10", "FastEthernet0/3"],
        [
            "sw1", "00:09:BC:3F:A6:50", "192.168.100.100", "1",
            "FastEthernet0/7"
        ],
        ["sw3", "00:E9:BC:3F:A6:50", "100.1.1.6", "3", "FastEthernet0/20"],
        ["sw3", "00:E9:22:11:A6:50", "100.1.1.7", "3", "FastEthernet0/21"],
    ]
    sh_dhcp_snoop_files = [
        "sw1_dhcp_snooping.txt",
        "sw3_dhcp_snooping.txt",
    ]
    dest_filename = tmpdir.mkdir("test_tasks").join("output2.csv")
    return_value = task_17_1.write_dhcp_snooping_to_csv(
        sh_dhcp_snoop_files, dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(snooping_data)

    assert (
        return_value == None
    ), f"По заданию функция должна возвращать None, а возвращает {type(return_value).__name__}"
    assert (sorted(csv_content) == correct_return_value
            ), "Функция возвращает неправильное значение"
Ejemplo n.º 5
0
def test_write_to_csv_return_value(tmpdir):
    routers_inventory = [['hostname', 'ios', 'image', 'uptime'],
                         [
                             'r1', '12.4(15)T1',
                             'flash:c1841-advipservicesk9-mz.124-15.T1.bin',
                             '15 days, 8 hours, 32 minutes'
                         ],
                         [
                             'r2', '12.4(4)T', 'disk0:c7200-js-mz.124-4.T',
                             '45 days, 8 hours, 22 minutes'
                         ],
                         [
                             'r3', '12.4(4)T', 'disk0:c7200-js-mz.124-4.T',
                             '5 days, 18 hours, 2 minutes'
                         ]]
    sh_version_files = [
        'sh_version_r1.txt', 'sh_version_r2.txt', 'sh_version_r3.txt'
    ]
    dest_filename = tmpdir.mkdir('test_tasks').join('routers_inventory.csv')
    return_value = task_17_1.write_inventory_to_csv(sh_version_files,
                                                    dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(routers_inventory)

    assert return_value == None, "Функция должна возвращать None"
    assert sorted(csv_content) == correct_return_value,\
            "Функция возвращает неправильное значение"
Ejemplo n.º 6
0
def test_write_to_csv_return_value(tmpdir):
    """
    Проверка работы функции
    """
    routers_inventory = [
        ["hostname", "ios", "image", "uptime"],
        [
            "r1",
            "12.4(15)T1",
            "flash:c1841-advipservicesk9-mz.124-15.T1.bin",
            "15 days, 8 hours, 32 minutes",
        ],
        [
            "r2", "12.4(4)T", "disk0:c7200-js-mz.124-4.T",
            "45 days, 8 hours, 22 minutes"
        ],
        [
            "r3", "12.4(4)T", "disk0:c7200-js-mz.124-4.T",
            "5 days, 18 hours, 2 minutes"
        ],
    ]
    sh_version_files = [
        "sh_version_r1.txt", "sh_version_r2.txt", "sh_version_r3.txt"
    ]
    dest_filename = tmpdir.mkdir("test_tasks").join("routers_inventory.csv")
    return_value = task_17_2.write_inventory_to_csv(sh_version_files,
                                                    dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(routers_inventory)

    assert (
        return_value == None
    ), f"По заданию функция должна возвращать None, а возвращает {type(return_value).__name__}"
    assert (sorted(csv_content) == correct_return_value
            ), "Функция возвращает неправильное значение"
Ejemplo n.º 7
0
def test_write_to_csv_return_value(routers_inventory, tmpdir):
    sh_version_files = ['sh_version_r1.txt', 'sh_version_r2.txt', 'sh_version_r3.txt']
    dest_filename = tmpdir.mkdir('test_tasks').join('routers_inventory.csv')
    return_value = task_17_1.write_inventory_to_csv(sh_version_files, dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(routers_inventory)

    assert return_value == None, "Функция должна возвращать None"
    assert sorted(csv_content) == correct_return_value, "Функция возвращает неправильное значение"
Ejemplo n.º 8
0
def test_cli_and_file_content(tmpdir):
    correct_return_value = [
        ["local device", "local port", "remote device", "remote port"],
        ["SW1", "Eth 0/1", "R1", "Eth 0/0"],
        ["SW1", "Eth 0/2", "R2", "Eth 0/0"],
        ["SW1", "Eth 0/3", "R3", "Eth 0/0"],
        ["SW1", "Eth 0/4", "R4", "Eth 0/0"],
        ["R1", "Eth 0/0", "SW1", "Eth 0/1"],
    ]

    output_csv = tmpdir.mkdir("test_tasks").join("task_3_1.csv")
    runner = CliRunner()
    result = runner.invoke(
        cli, ["sh_cdp_n_sw1.txt", "sh_cdp_n_r1.txt", "-o", output_csv]
    )
    csv_content = read_all_csv_content_as_list(output_csv)
    assert (
        result.exit_code == 0
    ), "При передаче двух файлов cdp_filenames и одного output-filename cli должно отрабатывать"
    assert sorted(csv_content) == sorted(
        correct_return_value
    ), "Функция возвращает неправильное значение"
Ejemplo n.º 9
0
def test_return_value(tmpdir):
    unique_data = [
        ['Name', 'Email', 'Last Changed'],
        ['Kuiil', '*****@*****.**', '20/04/2015 21:56'],
        ['Chewie', '*****@*****.**', '10/02/2019 22:45'],
        ['Cara Dune', '*****@*****.**', '11/10/2019 14:05'],
        ['Mandalorian', '*****@*****.**', '10/11/2019 12:11'],
        ['D-O', '*****@*****.**', '15/12/2019 22:45'],
        ['BB-8', '*****@*****.**', '16/12/2019 17:20'],
        ['C-3PO', '*****@*****.**', '16/12/2019 17:24'],
        ['Ben Solo', '*****@*****.**', '21/12/2019 12:25'],
        ['R2D2', '*****@*****.**', '23/10/2018 05:10']
    ]
    source_filename = 'mail_log.csv'
    dest_filename = tmpdir.mkdir('test_tasks').join('output.csv')
    return_value = task_17_4.write_last_log_to_csv(source_filename,
                                                   dest_filename)
    csv_content = read_all_csv_content_as_list(dest_filename)
    correct_return_value = sorted(unique_data)

    assert return_value == None, "Функция должна возвращать None"
    assert sorted(csv_content) == correct_return_value,\
            "Функция возвращает неправильное значение"