def eos_connector(mock_eapi): hostname = '1.1.1.1' port = 22 proto = 'ssh' user = '******' passwd = 'test_passwd' con = connector.Connector(hostname, port=port, proto=proto, user=user, passwd=passwd) return con
def test_eos_connector_execute_exception(mock_eapi): mock_eapi.return_value.execute.side_effect = Exception target = '1.1.1.1' user = '******' passwd = 'test_passwd' con = connector.Connector(target, user=user, passwd=passwd) with pytest.raises(CommandError): con.execute('test')
def test_eos_connector_configure_runtime_exception(mock_eapi): mock_eapi.return_value.execute.side_effect = Exception target = '1.1.1.1' user = '******' passwd = 'test_passwd' con = connector.Connector(target, user=user, passwd=passwd) with pytest.raises(RuntimeError) as e: con.configure('test')
def test_eos_connector_execute(mock_eapi): def mock_execute(commands, encoding='json', **kwargs): return {'result': commands} mock_eapi.return_value.execute.side_effect = mock_execute target = '1.1.1.1' user = '******' passwd = 'test_passwd' con = connector.Connector(target, user=user, passwd=passwd) results = con.execute(['test1', 'test2']) assert results == ['test1', 'test2']
def test_eos_connector_configure(mock_eapi): def mock_execute(*args): return {'result': list(args)[0]} mock_eapi.return_value.execute.side_effect = mock_execute target = '1.1.1.1' user = '******' passwd = 'test_passwd' con = connector.Connector(target, user=user, passwd=passwd) con.configure(['test1', 'test2', '']) expected = [mock.call(host=target, password=passwd, transport='http', username=user, timeout=120), mock.call().execute(['enable', 'configure', 'test1', 'test2'])] assert mock_eapi.mock_calls == expected