Beispiel #1
0
    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)
Beispiel #3
0
    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'])
Beispiel #9
0
    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)
Beispiel #10
0
    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)