Exemplo n.º 1
0
 def test_request_upon_exception_url_included_in_message(
         self, error_requests_session, renewing_auth_handler):
     session = Py42Session(error_requests_session, HOST_ADDRESS,
                           renewing_auth_handler)
     with pytest.raises(Py42InternalServerError) as e:
         session.get(URL)
         assert e.request.url == URL
Exemplo n.º 2
0
    def test_session_request_calls_requests_with_timeout_param(
        self, success_requests_session
    ):
        session = Py42Session(success_requests_session, HOST_ADDRESS)
        session.request("GET", URL)

        assert success_requests_session.request.call_args[1]["timeout"] == 60
Exemplo n.º 3
0
    def test_session_request_returns_response_when_good_status_code(
        self, success_requests_session
    ):

        session = Py42Session(success_requests_session, HOST_ADDRESS)
        response = session.get(URL)
        assert response.text == TEST_RESPONSE_CONTENT
Exemplo n.º 4
0
 def test_session_request_calls_auth_handler_renew_authentication_only_once_while_auth_is_valid(
         self, success_requests_session, valid_auth_handler):
     session = Py42Session(success_requests_session, HOST_ADDRESS,
                           valid_auth_handler)
     session.get(URL)
     session.get(URL)
     assert valid_auth_handler.renew_authentication.call_count == 1
Exemplo n.º 5
0
 def test_session_request_calls_auth_handler_renew_authentication_with_correct_params_when_making_first_request(
         self, success_requests_session, valid_auth_handler):
     session = Py42Session(success_requests_session, HOST_ADDRESS,
                           valid_auth_handler)
     session.get(URL)
     valid_auth_handler.renew_authentication.assert_called_once_with(
         session, use_cache=True)
Exemplo n.º 6
0
 def test_session_request_returns_utf8_response(self,
                                                success_requests_session):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     response = session.request("GET",
                                URL,
                                data=DATA_VALUE,
                                json=JSON_VALUE)
     assert response.encoding == "utf-8"
Exemplo n.º 7
0
 def test_session_post_with_json_calls_request_with_data_param_with_string_encoded_json(
     self, success_requests_session
 ):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.post(URL, json=JSON_VALUE)
     assert success_requests_session.request.call_args[KWARGS_INDEX][
         DATA_KEY
     ] == dumps(JSON_VALUE)
Exemplo n.º 8
0
 def test_session_options_calls_requests_with_options(
     self, success_requests_session
 ):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.options(TEST_URL)
     success_requests_session.request.assert_called_once_with(
         "OPTIONS", TEST_URL, **default_kwargs
     )
Exemplo n.º 9
0
 def test_session_post_with_data_and_json_params_overwrites_data_with_json(
     self, success_requests_session
 ):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.post(URL, data=DATA_VALUE, json=JSON_VALUE)
     assert success_requests_session.request.call_args[KWARGS_INDEX][
         DATA_KEY
     ] == dumps(JSON_VALUE)
Exemplo n.º 10
0
 def test_session_request_called_again_twice_when_response_unauthorized(
         self, success_requests_session, renewing_auth_handler):
     session = Py42Session(success_requests_session, HOST_ADDRESS,
                           renewing_auth_handler)
     session.get(URL)  # initialize
     assert success_requests_session.request.call_count == 1
     session.get(
         URL)  # second request will be unauthorized and call request again
     assert success_requests_session.request.call_count == 3
Exemplo n.º 11
0
 def test_session_post_with_data_and_json_params_does_not_pass_json_param_to_request(
     self, success_requests_session
 ):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.post(URL, data=DATA_VALUE, json=JSON_VALUE)
     assert (
         success_requests_session.request.call_args[KWARGS_INDEX].get(JSON_KEY)
         is None
     )
Exemplo n.º 12
0
 def _create_session(self,
                     session_impl,
                     host_address,
                     token_provider=None,
                     modifier=None):
     handler = None
     if modifier:
         handler = self._auth_handler_factory.create_auth_handler(
             token_provider, modifier)
     return Py42Session(session_impl(), host_address, auth_handler=handler)
Exemplo n.º 13
0
 def test_session_head_calls_requests_with_head(self,
                                                success_requests_session):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.head(TEST_URL)
     success_requests_session.request.assert_called_once_with(
         "HEAD", TEST_URL, **default_kwargs)
Exemplo n.º 14
0
 def test_session_delete_calls_requests_with_delete(
         self, success_requests_session):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.delete(TEST_URL)
     success_requests_session.request.assert_called_once_with(
         "DELETE", TEST_URL, **default_kwargs)
Exemplo n.º 15
0
 def test_session_patch_calls_requests_with_patch(self,
                                                  success_requests_session):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.patch(TEST_URL)
     success_requests_session.request.assert_called_once_with(
         "PATCH", TEST_URL, **default_kwargs)
Exemplo n.º 16
0
 def test_session_get_calls_requests_with_get(self,
                                              success_requests_session):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     session.get(TEST_URL)
     success_requests_session.request.assert_called_once_with(
         "GET", TEST_URL, **default_kwargs)
Exemplo n.º 17
0
 def test_session_request_when_streamed_doesnt_not_set_encoding_on_response(
         self, success_requests_session):
     session = Py42Session(success_requests_session, HOST_ADDRESS)
     response = session.request("GET", URL, data=DATA_VALUE, stream=True)
     assert response.encoding is None
Exemplo n.º 18
0
 def test_session_request_with_error_status_code_raises_http_error(
         self, error_requests_session):
     session = Py42Session(error_requests_session, HOST_ADDRESS)
     with pytest.raises(Py42InternalServerError):
         session.get(URL)