def test_build_headers_applies_x_api_token_header(self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') expected_header_value = 'token-456' actual_header_value = client._build_headers('GET')['X-API-TOKEN'] self.assertEqual(expected_header_value, actual_header_value)
def test_build_headers_applies_json_content_type_header_for_put_requests( self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') expected_header_value = 'application/json' actual_header_value = client._build_headers('PUT')['Content-Type'] self.assertEqual(expected_header_value, actual_header_value)
def test_build_headers_does_not_support_methods_beyond_get_delete_post_and_put( self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') with self.assertRaises(QualtricsAPIException): _ = client._build_headers('OPTIONS')['Content-Type'] with self.assertRaises(QualtricsAPIException): _ = client._build_headers('HEAD')['Content-Type'] with self.assertRaises(QualtricsAPIException): _ = client._build_headers('CONNECT')['Content-Type'] with self.assertRaises(QualtricsAPIException): _ = client._build_headers('TRACE')['Content-Type'] with self.assertRaises(QualtricsAPIException): _ = client._build_headers('Random-Method-String')['Content-Type'] with self.assertRaises(QualtricsAPIException): _ = client._build_headers(None)['Content-Type'] with self.assertRaises(QualtricsAPIException): _ = client._build_headers(123)['Content-Type']
def test_build_headers_does_not_apply_json_content_type_header_for_delete_requests( self): client = QualtricsAPIClient('http://qualtrics.com/api', 'token-456') with self.assertRaises(KeyError): _ = client._build_headers('DELETE')['Content-Type']