示例#1
0
 def test_connection_request_when_session_returns_none_raises_py42_error(
         self, mock_host_resolver, mock_auth, success_requests_session):
     success_requests_session.send.return_value = None
     connection = Connection(mock_host_resolver, mock_auth,
                             success_requests_session)
     with pytest.raises(Py42Error):
         connection.get(URL)
示例#2
0
 def test_connection_get_calls_requests_with_get(
     self, mock_host_resolver, mock_auth, success_requests_session
 ):
     connection = Connection(mock_host_resolver, mock_auth, success_requests_session)
     connection.get(URL)
     expected = MockPreparedRequest("GET", HOST_ADDRESS + URL, None)
     success_requests_session.prepare_request.assert_called_once_with(expected)
示例#3
0
 def test_connection_request_when_given_header_as_param_does_not_persist_header(
         self, mock_host_resolver, mock_auth, success_requests_session):
     connection = Connection(mock_host_resolver, mock_auth,
                             success_requests_session)
     connection.put(URL, data='{"foo":"bar"}', headers={"Foo": "Bar"})
     connection.get(URL)
     request = success_requests_session.prepare_request.call_args[0][0]
     assert request.headers.get("Foo") is None
示例#4
0
 def test_connection_request_calls_auth_handler_clears_renews_credentials_when_response_unauthorized(
         self, mock_host_resolver, mock_auth, renewed_requests_session):
     connection = Connection(mock_host_resolver, mock_auth,
                             renewed_requests_session)
     connection.get(URL)
     assert renewed_requests_session.send.call_count == 2
     assert renewed_requests_session.prepare_request.call_count == 2
     assert mock_auth.clear_credentials.call_count == 1
示例#5
0
 def test_connection_request_when_has_data_does_not_use_header_on_following_request_that_does_not_have_data(
     self, mock_host_resolver, mock_auth, success_requests_session
 ):
     connection = Connection(mock_host_resolver, mock_auth, success_requests_session)
     connection.put(URL, data='{"foo":"bar"}')  # Content-Type: application/json
     connection.get(URL)
     request = success_requests_session.prepare_request.call_args[0][0]
     assert request.headers.get("Content-Type") is None
示例#6
0
    def test_connection_request_raises_unauthorized_error_when_renewal_results_in_401(
            self, mock_host_resolver, mock_auth,
            unauthorized_requests_session):
        connection = Connection(mock_host_resolver, mock_auth,
                                unauthorized_requests_session)

        with pytest.raises(Py42UnauthorizedError):
            connection.get(URL)

        assert unauthorized_requests_session.send.call_count == 2
示例#7
0
 def test_connection_request_when_proxies_set_passes_proxies_arg_to_session_send(
         self, proxy_set, mock_host_resolver, mock_auth,
         success_requests_session):
     connection = Connection(mock_host_resolver,
                             mock_auth,
                             session=success_requests_session)
     url = "https://example.com"
     connection.get(url)
     connection.post(url)
     connection.options(url)
     connection.put(url)
     connection.patch(url)
     connection.head(url)
     connection.delete(url)
     for call in success_requests_session.send.call_args_list:
         assert call[1]["proxies"] == {"https": "http://localhost:9999"}
示例#8
0
 def test_connection_request_calls_auth_handler_when_making_first_request(
         self, mock_host_resolver, mock_auth, success_requests_session):
     connection = Connection(mock_host_resolver, mock_auth,
                             success_requests_session)
     connection.get(URL)
     assert success_requests_session.prepare_request.call_count == 1
示例#9
0
 def test_connection_request_with_error_status_code_raises_http_error(
         self, mock_host_resolver, mock_auth, error_requests_session):
     connection = Connection(mock_host_resolver, mock_auth,
                             error_requests_session)
     with pytest.raises(Py42InternalServerError):
         connection.get(URL)
示例#10
0
 def test_connection_request_returns_response_when_good_status_code(
         self, mock_host_resolver, mock_auth, success_requests_session):
     connection = Connection(mock_host_resolver, mock_auth,
                             success_requests_session)
     response = connection.get(URL)
     assert response.text == TEST_RESPONSE_CONTENT