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 ), "Функция возвращает неправильное значение"
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,\ "Функция возвращает неправильное значение"
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 ), "Функция возвращает неправильное значение"
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 ), "Функция возвращает неправильное значение"
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,\ "Функция возвращает неправильное значение"
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 ), "Функция возвращает неправильное значение"
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, "Функция возвращает неправильное значение"
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 ), "Функция возвращает неправильное значение"
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,\ "Функция возвращает неправильное значение"