def test_function_return_value(capsys, r1_test_connection, first_router_from_devices_yaml): """ Проверка работы функции """ test_commands = [ "interface Loopback 100", "ip address 10.1.1.100 255.255.255.255", ] correct_return_value = r1_test_connection.send_config_set(test_commands) return_value = task_19_2a.send_config_commands( first_router_from_devices_yaml, test_commands) # проверяем возвращаемое значение assert return_value != None, "Функция ничего не возвращает" assert ( type(return_value) == str ), f"По заданию функция должна возвращать строку, а возвращает {type(return_value).__name__}" assert (return_value == correct_return_value ), "Функция возвращает неправильное значение" # по умолчанию, log должно быть равным True # и на stdout должно выводиться сообщение correct_stdout = f"{r1_test_connection.host}" out, err = capsys.readouterr() assert out != "", "Сообщение об ошибке не выведено на stdout" assert correct_stdout in out, "Выведено неправильное сообщение об ошибке" # проверяем, что с log=False вывода в stdout нет return_value = task_19_2a.send_config_commands( first_router_from_devices_yaml, test_commands, log=False) correct_stdout = "" out, err = capsys.readouterr() assert ( out == correct_stdout ), "Сообщение об ошибке не должно выводиться на stdout, когда log=False"
def test_function_return_value(capsys, r1_test_connection, first_router_from_devices_yaml): test_commands = [ 'logging 10.255.255.1', 'logging buffered 20010', 'no logging console' ] correct_return_value = r1_test_connection.send_config_set(test_commands) return_value = task_19_2a.send_config_commands( first_router_from_devices_yaml, test_commands) # проверяем возвращаемое значение assert return_value != None, "Функция ничего не возвращает" assert type(return_value) == str, "Функция должна возвращать строку" assert return_value == correct_return_value, "Функция возвращает неправильное значение" # по умолчанию, verbose должно быть равным True # и на stdout должно выводиться сообщение correct_stdout = f'{r1_test_connection.ip}' out, err = capsys.readouterr() assert out != '', "Сообщение об ошибке не выведено на stdout" assert correct_stdout in out, "Выведено неправильное сообщение об ошибке" # проверяем, что с verbose=False вывода в stdout нет return_value = task_19_2a.send_config_commands( first_router_from_devices_yaml, test_commands, verbose=False) correct_stdout = '' out, err = capsys.readouterr() assert out == correct_stdout,\ "Сообщение об ошибке не должно выводиться на stdout, когда verbose=False"
def send_commands(device, show=None, config=None): if show: result = send_show_command(device, show) elif config: result = send_config_commands(device, config) else: result = None return result