def test_function_stdout(error, command, capsys, first_router_from_devices_yaml): return_value = task_19_2b.send_config_commands( first_router_from_devices_yaml, [command], verbose=False) # Проверяем вывод информации об ошибках в stdout # во входящих данных три команды с ошибками # при каждой ошибке, должна выводиться информация: # ошибка, IP устройства, команда # в тесте проверяется наличие этих полей out, err = capsys.readouterr() ip = first_router_from_devices_yaml['ip'] assert error in out, "В сообщении об ошибке нет самой ошибки" assert command in out, "В сообщении об ошибке нет выполняемой команды" assert ip in out, "В сообщении об ошибке нет IP-адреса устройства"
def test_function_return_value(capsys, first_router_from_devices_yaml): commands_with_errors = ['logging 0255.255.1', 'logging', 'a'] correct_commands = ['logging buffered 20010', 'ip http server'] test_commands = commands_with_errors + correct_commands return_value = task_19_2b.send_config_commands( first_router_from_devices_yaml, test_commands, verbose=False) # проверяем возвращаемое значение assert return_value != None, "Функция ничего не возвращает" assert type(return_value) == tuple, "Функция должна возвращать кортеж" assert len(return_value) == 2 and all(type(item) == dict for item in return_value),\ "Функция должна возвращать кортеж с двумя словарями" correct_good, correct_bad = correct_return_value return_good, return_bad = return_value assert return_good.keys() == correct_good.keys() and \ return_bad.keys() == correct_bad.keys(),\ "Функция возвращает неправильное значение"
def test_function_2(capsys, device_example, device_connection): error, command = 'Invalid input detected', 'logging 0255.255.1' result = send_config_commands(device_example, [command]) stdout, stderr = capsys.readouterr() assert error in stdout
def test_function_1(device_example, device_connection): command = 'logging 1.1.1.1' correct, failed = send_config_commands(device_example, [command]) assert command in correct and '%' not in correct[command]