def test_user_agent_with_no_key(self): from tootwi import API user_agent_key = 'User-Agent' # default expected tootwi_own_val = 'tootwi/' api = API() invocation = api.invoke(FAKE_OPERATION) self.assertIn(user_agent_key, invocation.headers) self.assertIn(tootwi_own_val, invocation.headers[user_agent_key])
def common_user_agent_test(self, user_agent_key): from tootwi import API user_agent_val = 'test-user-agent/1.2.3' tootwi_own_val = 'tootwi/' api = API(headers={ user_agent_key: user_agent_val }) invocation = api.invoke(FAKE_OPERATION) self.assertIn(user_agent_key, invocation.headers) self.assertIn(user_agent_val, invocation.headers[user_agent_key]) self.assertIn(tootwi_own_val, invocation.headers[user_agent_key])
def test_headers_go_to_invocation(self): from tootwi import API api = API(headers={'hello':'world', 'empty':''}) invocation = api.invoke(FAKE_OPERATION) self.assertDictContainsSubset({'hello':'world', 'empty':''}, invocation.headers)
def test_headers_cleaned_from_nones(self): from tootwi import API api = API(headers={'empty':None}) invocation = api.invoke(FAKE_OPERATION) self.assertNotIn('empty', invocation.headers)
def test_normalize_url(self): from tootwi import API normal_api = API(use_ssl=False) secure_api = API(use_ssl=True) self.assertEqual(normal_api.normalize_url( 'method' ), 'http://api.twitter.com/1/method') self.assertEqual(normal_api.normalize_url( 'method', None ), 'http://api.twitter.com/1/method') self.assertEqual(normal_api.normalize_url( 'method', 'ext'), 'http://api.twitter.com/1/method.ext') self.assertEqual(normal_api.normalize_url( 'method', '.ext'), 'http://api.twitter.com/1/method.ext') self.assertEqual(normal_api.normalize_url('/method' ), 'http://api.twitter.com/method') self.assertEqual(normal_api.normalize_url('/method', None ), 'http://api.twitter.com/method') self.assertEqual(normal_api.normalize_url('/method', 'ext'), 'http://api.twitter.com/method.ext') self.assertEqual(normal_api.normalize_url('/method', '.ext'), 'http://api.twitter.com/method.ext') self.assertEqual(normal_api.normalize_url('proto://server/method' ), 'proto://server/method') self.assertEqual(normal_api.normalize_url('proto://server/method', None ), 'proto://server/method') self.assertEqual(normal_api.normalize_url('proto://server/method', 'ext'), 'proto://server/method.ext') self.assertEqual(normal_api.normalize_url('proto://server/method', '.ext'), 'proto://server/method.ext') self.assertEqual(secure_api.normalize_url( 'method' ), 'https://api.twitter.com/1/method') self.assertEqual(secure_api.normalize_url( 'method', None ), 'https://api.twitter.com/1/method') self.assertEqual(secure_api.normalize_url( 'method', 'ext'), 'https://api.twitter.com/1/method.ext') self.assertEqual(secure_api.normalize_url( 'method', '.ext'), 'https://api.twitter.com/1/method.ext') self.assertEqual(secure_api.normalize_url('/method' ), 'https://api.twitter.com/method') self.assertEqual(secure_api.normalize_url('/method', None ), 'https://api.twitter.com/method') self.assertEqual(secure_api.normalize_url('/method', 'ext'), 'https://api.twitter.com/method.ext') self.assertEqual(secure_api.normalize_url('/method', '.ext'), 'https://api.twitter.com/method.ext') self.assertEqual(secure_api.normalize_url('proto://server/method' ), 'proto://server/method') self.assertEqual(secure_api.normalize_url('proto://server/method', None ), 'proto://server/method') self.assertEqual(secure_api.normalize_url('proto://server/method', 'ext'), 'proto://server/method.ext') self.assertEqual(secure_api.normalize_url('proto://server/method', '.ext'), 'proto://server/method.ext')