def test_example_post_request(self):
        valid_request = RequestAdapter("POST",
                                     "https://photos.example.net/initiate",
                                     body="",
                                     headers={
                                         "Authorization": '''\
OAuth realm="Photos",\
    oauth_callback="http://printer.example.com/ready",\
    oauth_consumer_key="dpf43f3p2l4k3l03",\
    oauth_nonce="wIjqoS",\
    oauth_signature="74KNZJeDHnMBp0EMJ9ZHt/XKycU=",\
    oauth_signature_method="HMAC-SHA1",\
    oauth_timestamp="137131200"'''})

        method = "POST"
        url = "https://photos.example.net/initiate"
        params = None
        request = self.client._build_request(method,
                                             url,
                                             params,
                                             auth_credentials=None,
                                             realm="Photos",
                                             oauth_signature_method="HMAC-SHA1",
                                             oauth_timestamp="137131200",
                                             oauth_consumer_key="dpf43f3p2l4k3l03",
                                             oauth_nonce="wIjqoS",
                                             oauth_callback="http://printer.example.com/ready",
                                             _test_force_override_reserved_oauth_params=True,
                                             _test_force_exclude_oauth_version=True)
        self.assertEqual(request.method, valid_request.method)
        self.assertEqual(request.payload, valid_request.payload)
        self.assertEqual(request.url, valid_request.url)

        expected_authorization_header, expected_realm = parse_authorization_header(valid_request.headers["Authorization"])
        got_authorization_header, got_realm = parse_authorization_header(request.headers["Authorization"])
        self.assertEqual(got_realm, expected_realm)
        self.assertDictEqual(got_authorization_header, expected_authorization_header)
    def test_valid_request_generated(self):
        valid_request = RequestAdapter("GET",
                                     "http://photos.example.net/photos?file=vacation.jpg&size=original",
                                     body="",
                                     headers={
                                         "Authorization": '''\
OAuth realm="Photos",\
    oauth_consumer_key="dpf43f3p2l4k3l03",\
    oauth_nonce="chapoH",\
    oauth_signature="MdpQcU8iPSUjWoN%2FUDMsK2sui9I%3D",\
    oauth_signature_method="HMAC-SHA1",\
    oauth_timestamp="137131202",\
    oauth_token="nnch734d00sl2jdk"'''})

        method = "GET"
        url = "http://photos.example.net/photos"
        params = dict(file="vacation.jpg", size="original")
        request = self.client._build_request(method,
                                             url,
                                             params,
                                             auth_credentials=self.token_credentials,
                                             realm="Photos",
                                             oauth_signature_method="HMAC-SHA1",
                                             oauth_timestamp="137131202",
                                             oauth_consumer_key="dpf43f3p2l4k3l03",
                                             oauth_token="nnch734d00sl2jdk",
                                             oauth_nonce="chapoH",
                                             _test_force_override_reserved_oauth_params=True,
                                             _test_force_exclude_oauth_version=True)
        self.assertEqual(request.method, valid_request.method)
        self.assertEqual(request.payload, valid_request.payload)
        self.assertEqual(request.url, valid_request.url)

        expected_authorization_header, expected_realm = parse_authorization_header(valid_request.headers["Authorization"])
        got_authorization_header, got_realm = parse_authorization_header(request.headers["Authorization"])
        self.assertEqual(got_realm, expected_realm)
        self.assertDictEqual(got_authorization_header, expected_authorization_header)