async def test_request_command(monkeypatch): async def mocked_prepare_execute(req, args): mocked_prepare_execute.called = True monkeypatch.setattr(commands, 'prepare_and_execute_request', mocked_prepare_execute) await request_command(attrdict({'request': 'req1'})) assert mocked_prepare_execute.called
async def test_list_command_request_not_found_in_any_module( monkeypatch, capsys): requests = {'module': {'req': mock_request(name='req', module='module')}} monkeypatch.setattr(commands, 'get_requests', lambda: requests) await list_command(attrdict({'module': ':request_404'})) captured = capsys.readouterr() assert escape_ansi( captured.out ) == 'Request "request_404" does not exist in any module.\n'
async def test_prepare_and_execute_request_exception(capsys, monkeypatch): async def mocked_execute_request(request, use_defaults, **arguments): raise Exception('It is broken') monkeypatch.setattr(commands, 'execute_request', mocked_execute_request) monkeypatch.setattr(commands, 'init_environment', lambda _: None) await prepare_and_execute_request( 'module:request', attrdict({ 'arguments': [], 'use_defaults': True, 'env': 'default' })) captured = capsys.readouterr() assert escape_ansi(captured.out) == 'It is broken\n'
async def test_prepare_and_execute_request(monkeypatch): async def mocked_execute_request(request, use_defaults, **arguments): assert request == 'module:request' assert use_defaults == True assert arguments == {'arg1': 'value1', 'arg2': 'value2'} monkeypatch.setattr(commands, 'execute_request', mocked_execute_request) monkeypatch.setattr(commands, 'init_environment', lambda _: None) await prepare_and_execute_request( 'module:request', attrdict({ 'arguments': ['arg1=value1', 'arg2=value2'], 'use_defaults': True, 'env': 'default' }))
async def test_list_command_request(monkeypatch, capsys): requests = { 'module1': { 'req1': mock_request(name='req1', module='module1'), 'req2': mock_request(name='req2', module='module1') }, 'module2': { 'req1': mock_request(name='req1', module='module2'), 'req3': mock_request(name='req3', module='module2') } } monkeypatch.setattr(commands, 'get_requests', lambda: requests) await list_command(attrdict({'module': ':req1'})) captured = capsys.readouterr() assert escape_ansi(captured.out) == '''module1:
async def test_list_command_module_and_request_not_found(monkeypatch, capsys): requests = { 'module1': { 'req1': mock_request(name='req1', module='module1') }, 'module2': { 'req2': mock_request(name='req2', module='module2') } } monkeypatch.setattr(commands, 'get_requests', lambda: requests) await list_command(attrdict({'module': 'module1:request2'})) captured = capsys.readouterr() assert escape_ansi( captured.out ) == 'Request "request2" does not exist in module "module1".\n'
async def test_prepare_and_execute_request_assertion_error( capsys, monkeypatch): async def mocked_execute_request(request, use_defaults, **arguments): assert 1 == 2 monkeypatch.setattr(commands, 'execute_request', mocked_execute_request) monkeypatch.setattr(commands, 'init_environment', lambda _: None) await prepare_and_execute_request( 'module:request', attrdict({ 'arguments': [], 'use_defaults': True, 'env': 'default' })) lines = escape_ansi(capsys.readouterr().out).splitlines() assert len(lines) == 2 assert lines[0].startswith('Assertion error in ') assert lines[1] == 'assert 1 == 2'
async def test_environments_command_list_environment_variables( capsys, monkeypatch): class MockedEnvironment: def __init__(self, env): self.data = { 'section1': [('attr1', 'value1'), ('attr2', 'value2')], 'section2': [('attr1', 'value1')] } def items(self, section): return self.data[section] def sections(self): return self.data.keys() monkeypatch.setattr(commands, 'Environment', MockedEnvironment) await environments_command(attrdict({'environment': 'default'})) captured = capsys.readouterr() assert escape_ansi(captured.out) == '''section1
async def test_list_command_no_requests(monkeypatch, capsys): monkeypatch.setattr(commands, 'get_requests', lambda: {}) await list_command(attrdict({'module': None})) captured = capsys.readouterr() assert escape_ansi(captured.out) == 'No requests found.\n'
async def test_environments_command_list_environments(capsys, monkeypatch): monkeypatch.setattr(commands, 'get_environments', lambda: ['default', 'another']) await environments_command(attrdict({'environment': None})) captured = capsys.readouterr() assert escape_ansi(captured.out) == '- default\n- another\n'