def test_http_action_error_result(self, mocked_method): mocked_method.return_value = get_error_fake_response() action = std.HTTPAction(url=URL, method='POST', body=DATA, timeout=20, allow_redirects=True) DATA_STR = json.dumps(DATA) self.assertEqual(DATA_STR, action.body) self.assertEqual(URL, action.url) result = action.run() self.assertIsInstance(result, wf_utils.Result) self.assertEqual(401, result.error['status']) mocked_method.assert_called_with('POST', URL, data=DATA_STR, headers=None, cookies=None, params=None, timeout=20, auth=None, allow_redirects=True, proxies=None, verify=None)
def test_http_action(self, mocked_method): mocked_method.return_value = get_success_fake_response() mock_ctx = mock.Mock() action = std.HTTPAction(url=URL, method='POST', body=DATA, timeout=20, allow_redirects=True) DATA_STR = json.dumps(DATA) self.assertEqual(DATA_STR, action.body) self.assertEqual(URL, action.url) result = action.run(mock_ctx) self.assertIsInstance(result, dict) self.assertEqual(DATA, result['content']) self.assertIn('headers', result) self.assertEqual(200, result['status']) mocked_method.assert_called_with('POST', URL, data=DATA_STR, json=None, headers=None, cookies=None, params=None, timeout=20, auth=None, allow_redirects=True, proxies=None, verify=None)
def test_http_action_with_auth(self, mocked_method): mocked_method.return_value = get_success_fake_response() action = std.HTTPAction(url=URL, method='POST', body=DATA, auth='user:password') data_str = json.dumps(DATA) self.assertEqual(data_str, action.body) self.assertEqual(URL, action.url) result = action.run() self.assertIsInstance(result, dict) self.assertEqual(DATA, result['content']) self.assertIn('headers', result) self.assertEqual(200, result['status']) mocked_method.assert_called_with('POST', URL, data=data_str, headers=None, cookies=None, params=None, timeout=None, auth=('user', 'password'), allow_redirects=None, proxies=None, verify=None)
def test_http_action_with_headers(self, mocked_method): mocked_method.return_value = get_success_fake_response() mock_ctx = mock.Mock() headers = { 'int_header': 33, 'bool_header': True, 'float_header': 3.0, 'regular_header': 'teststring' } safe_headers = { 'int_header': '33', 'bool_header': 'True', 'float_header': '3.0', 'regular_header': 'teststring' } action = std.HTTPAction( url=URL, method='POST', headers=headers.copy(), ) result = action.run(mock_ctx) self.assertIn('headers', result) args, kwargs = mocked_method.call_args self.assertEqual(safe_headers, kwargs['headers'])
def invoke(content): action = std.HTTPAction( url=URL, method='GET', ) mocked_method.return_value = get_fake_response(content=content, code=200) result = action.run(mock.Mock()) self.assertEqual(content, result['content'])
def test_http_action_with_auth(self, mocked_method): mocked_method.return_value = get_success_fake_response() mock_ctx = mock.Mock() action = std.HTTPAction(url=URL, method='POST', auth='user:password') action.run(mock_ctx) args, kwargs = mocked_method.call_args self.assertEqual(('user', 'password'), kwargs['auth'])
def test_http_action_none_encoding_not_empty_resp(self, mocked_method): action = std.HTTPAction( url=URL, method='GET', ) mocked_method.return_value = get_fake_response(content='', code=200, encoding=None) mock_ctx = mock.Mock() result = action.run(mock_ctx) self.assertIsNone(result['encoding'])
def test_http_action_error_result(self, mocked_method): mocked_method.return_value = get_error_fake_response() mock_ctx = mock.Mock() action = std.HTTPAction(url=URL, method='POST', body=DATA, timeout=20, allow_redirects=True) result = action.run(mock_ctx) self.assertIsInstance(result, mistral_lib_actions.Result) self.assertEqual(401, result.error['status'])
def test_http_action_empty_resp(self, mocked_method): action = std.HTTPAction(url=URL, method='GET', timeout=20, allow_redirects=True) self.assertEqual(URL, action.url) mocked_method.return_value = get_fake_response(content=None, code=200, encoding=None) mock_ctx = mock.Mock() result = action.run(mock_ctx) self.assertIsNone(result['content']) self.assertEqual(200, result['status']) mocked_method.assert_called_with('GET', URL, headers=None, cookies=None, params=None, data=None, timeout=20, auth=None, allow_redirects=True, proxies=None, verify=None) mocked_method.return_value = get_fake_response(content='', code=204, encoding=None) mock_ctx = mock.Mock() result = action.run(mock_ctx) self.assertEqual('', result['content']) self.assertEqual(204, result['status']) mocked_method.assert_called_with('GET', URL, headers=None, cookies=None, params=None, data=None, timeout=20, auth=None, allow_redirects=True, proxies=None, verify=None)
def test_http_action_with_headers(self, mocked_method): mocked_method.return_value = get_success_fake_response() mock_ctx = mock.Mock() headers = { 'int_header': 33, 'bool_header': True, 'float_header': 3.0, 'regular_header': 'teststring' } safe_headers = { 'int_header': '33', 'bool_header': 'True', 'float_header': '3.0', 'regular_header': 'teststring' } action = std.HTTPAction( url=URL, method='POST', body=DATA, headers=headers.copy(), ) data_str = json.dumps(DATA) self.assertEqual(data_str, action.body) self.assertEqual(URL, action.url) result = action.run(mock_ctx) self.assertIsInstance(result, dict) self.assertEqual(DATA, result['content']) self.assertIn('headers', result) self.assertEqual(200, result['status']) mocked_method.assert_called_with('POST', URL, data=data_str, headers=safe_headers, cookies=None, params=None, timeout=None, auth=None, allow_redirects=None, proxies=None, verify=None)