Skip to content

Commit

Permalink
Use assertItemsEqual to test lists of headers and parameters.
Browse files Browse the repository at this point in the history
This is cleaner, and makes the tests not depend on dictionary
order (which may change, and is different in pypy).
  • Loading branch information
marienz committed Jun 6, 2012
1 parent c151c9c commit 02ff184
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 41 deletions.
51 changes: 17 additions & 34 deletions tests/oauth1/rfc5849/test_signatures.py
Expand Up @@ -95,14 +95,13 @@ def test_collect_parameters(self):
# Check against uri_query

parameters = collect_parameters(uri_query=self.uri_query)

self.assertEquals(len(parameters), 6)
self.assertEquals(parameters[0], ('b5', '=%3D'))
self.assertEquals(parameters[1], ('a3', 'a'))
self.assertEquals(parameters[2], ('c@', ''))
self.assertEquals(parameters[3], ('a2', 'r b'))
self.assertEquals(parameters[4], ('c2', ''))
self.assertEquals(parameters[5], ('a3', '2 q'))
correct_parameters = [('b5', '=%3D'),
('a3', 'a'),
('c@', ''),
('a2', 'r b'),
('c2', ''),
('a3', '2 q')]
self.assertItemsEqual(parameters, correct_parameters)

# check against authorization header as well
# check against authorization header as well
Expand All @@ -111,20 +110,14 @@ def test_collect_parameters(self):
parameters = collect_parameters(uri_query=self.uri_query, headers={
'Authorization': self.authorization_header,
})

# Redo the checks against all the parameters. Duplicated code but better safety
self.assertEquals(len(parameters), 11)
self.assertEquals(parameters[0], ('b5', '=%3D'))
self.assertEquals(parameters[1], ('a3', 'a'))
self.assertEquals(parameters[2], ('c@', ''))
self.assertEquals(parameters[3], ('a2', 'r b'))
self.assertEquals(parameters[4], ('c2', ''))
self.assertEquals(parameters[5], ('a3', '2 q'))
self.assertEquals(parameters[6], ('oauth_nonce', '7d8f3e4a'))
self.assertEquals(parameters[7], ('oauth_timestamp', '137131201'))
self.assertEquals(parameters[8], ('oauth_consumer_key', '9djdj82h48djs9d2'))
self.assertEquals(parameters[9], ('oauth_signature_method', 'HMAC-SHA1'))
self.assertEquals(parameters[10], ('oauth_token', 'kkk9d7dh3k39sjv7'))
correct_parameters += [
('oauth_nonce', '7d8f3e4a'),
('oauth_timestamp', '137131201'),
('oauth_consumer_key', '9djdj82h48djs9d2'),
('oauth_signature_method', 'HMAC-SHA1'),
('oauth_token', 'kkk9d7dh3k39sjv7')]
self.assertItemsEqual(parameters, correct_parameters)

# Add in the body.
# TODO - add more valid content for the body. Daniel Greenfeld 2012/03/12
Expand All @@ -133,19 +126,9 @@ def test_collect_parameters(self):
body=self.body, headers={
'Authorization': self.authorization_header,
})
self.assertEquals(len(parameters), 12)
self.assertEquals(parameters[0], ('b5', '=%3D'))
self.assertEquals(parameters[1], ('a3', 'a'))
self.assertEquals(parameters[2], ('c@', ''))
self.assertEquals(parameters[3], ('a2', 'r b'))
self.assertEquals(parameters[4], ('c2', ''))
self.assertEquals(parameters[5], ('a3', '2 q'))
self.assertEquals(parameters[6], ('oauth_nonce', '7d8f3e4a'))
self.assertEquals(parameters[7], ('oauth_timestamp', '137131201'))
self.assertEquals(parameters[8], ('oauth_consumer_key', '9djdj82h48djs9d2'))
self.assertEquals(parameters[9], ('oauth_signature_method', 'HMAC-SHA1'))
self.assertEquals(parameters[10], ('oauth_token', 'kkk9d7dh3k39sjv7'))
self.assertEquals(parameters[11], ('content', 'This is being the body of things'))
correct_parameters += [
('content', 'This is being the body of things')]
self.assertItemsEqual(parameters, correct_parameters)

def test_normalize_parameters(self):
""" We copy some of the variables from the test method above."""
Expand Down
17 changes: 10 additions & 7 deletions tests/oauth1/rfc5849/test_utils.py
Expand Up @@ -145,10 +145,13 @@ def test_parse_authorization_header(self):
self.assertTrue(isinstance(k, unicode))
self.assertTrue(isinstance(v, unicode))

# let's check some of the parsed headers created
self.assertEquals(authorization_headers[1][0], u"oauth_nonce")
self.assertEquals(authorization_headers[1][1], u"7d8f3e4a")
self.assertEquals(authorization_headers[2][0], u"oauth_timestamp")
self.assertEquals(authorization_headers[2][1], u"137131201")
self.assertEquals(authorization_headers[3][0], u"oauth_consumer_key")
self.assertEquals(authorization_headers[3][1], u"9djdj82h48djs9d2")
# let's check the parsed headers created
correct_headers = [
(u"oauth_nonce", u"7d8f3e4a"),
(u"oauth_timestamp", u"137131201"),
(u"oauth_consumer_key", u"9djdj82h48djs9d2"),
(u'oauth_signature', u'djosJKDKJSD8743243%2Fjdk33klY%3D'),
(u'oauth_signature_method', u'HMAC-SHA1'),
(u'oauth_token', u'kkk9d7dh3k39sjv7'),
(u'realm', u'Example')]
self.assertItemsEqual(authorization_headers, correct_headers)

0 comments on commit 02ff184

Please sign in to comment.