Skip to content

Commit ea47a46

Browse files
committed
updated multidict tests
1 parent 412798f commit ea47a46

File tree

2 files changed

+26
-33
lines changed

2 files changed

+26
-33
lines changed

aiohttp/multidict.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ def __contains__(self, key):
102102
def __repr__(self):
103103
return '<{}>\n{}'.format(
104104
self.__class__.__name__, pprint.pformat(
105-
list(self.items())))
105+
list(self.items(getall=True)))
106+
)
106107

107108

108109
class CaseInsensitiveMultiDict(MultiDict):

tests/test_multidict.py

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ def test_instantiate__with_kwargs(self):
5858

5959
def test_getone(self):
6060
d = self.make_dict([('key', 'value1')], key='value2')
61-
self.assertEqual(d.getone('key'), 'value1')
61+
with self.assertRaises(KeyError):
62+
self.assertEqual(d.getone('key'), 'value1')
6263
self.assertEqual(d.get('key'), 'value1')
6364
self.assertEqual(d['key'], 'value1')
6465

@@ -124,7 +125,7 @@ def test_getall(self):
124125
d = self.make_dict([('key', 'value1')], key='value2')
125126

126127
self.assertEqual(d, {'key': 'value1'})
127-
self.assertEqual(len(d), 1)
128+
self.assertEqual(len(d), 2)
128129

129130
self.assertEqual(d.getall('key'), ('value1', 'value2'))
130131

@@ -142,7 +143,8 @@ def make_dict(self, *args, **kwargs):
142143

143144
def test_basics(self):
144145
d = self.make_dict([('KEY', 'value1')], KEY='value2')
145-
self.assertEqual(d.getone('key'), 'value1')
146+
with self.assertRaises(KeyError):
147+
self.assertEqual(d.getone('key'), 'value1')
146148
self.assertEqual(d.get('key'), 'value1')
147149
self.assertEqual(d.get('key2', 'val'), 'val')
148150
self.assertEqual(d['key'], 'value1')
@@ -157,7 +159,7 @@ def test_getall(self):
157159
d = self.make_dict([('KEY', 'value1')], KEY='value2')
158160

159161
self.assertEqual(d, {'KEY': 'value1'})
160-
self.assertEqual(len(d), 1)
162+
self.assertEqual(len(d), 2)
161163

162164
self.assertEqual(d.getall('key'), ('value1', 'value2'))
163165

@@ -170,18 +172,18 @@ class _BaseMutableMultiDictTests(_BaseTest):
170172
def test__repr__(self):
171173
d = self.make_dict()
172174
self.assertEqual(str(d), "<MutableMultiDict>\n[]")
175+
173176
d = self.make_dict([('key', 'one'), ('key', 'two')])
177+
174178
self.assertEqual(
175179
str(d),
176180
"<MutableMultiDict>\n[('key', 'one'), ('key', 'two')]")
177181

178182
def test_getall(self):
179183
d = self.make_dict([('key', 'value1')], key='value2')
184+
self.assertEqual(len(d), 2)
180185

181-
self.assertEqual(d, {'key': 'value1'})
182-
self.assertEqual(len(d), 1)
183-
184-
self.assertEqual(d.getall('key'), ['value1', 'value2'])
186+
self.assertEqual(d.getall('key'), ('value1', 'value2'))
185187

186188
with self.assertRaisesRegex(KeyError, "some_key"):
187189
d.getall('some_key')
@@ -195,56 +197,46 @@ def test_add(self):
195197
self.assertEqual(d, {})
196198
d['key'] = 'one'
197199
self.assertEqual(d, {'key': 'one'})
198-
self.assertEqual(d.getall('key'), ['one'])
200+
self.assertEqual(d.getall('key'), ('one',))
199201

200202
d['key'] = 'two'
201203
self.assertEqual(d, {'key': 'two'})
202-
self.assertEqual(d.getall('key'), ['two'])
204+
self.assertEqual(d.getall('key'), ('two',))
203205

204206
d.add('key', 'one')
205207
self.assertEqual(d, {'key': 'two'})
206-
self.assertEqual(d.getall('key'), ['two', 'one'])
208+
self.assertEqual(d.getall('key'), ('two', 'one'))
207209

208210
d.add('foo', 'bar')
209211
self.assertEqual(d, {'key': 'two', 'foo': 'bar'})
210-
self.assertEqual(d.getall('foo'), ['bar'])
212+
self.assertEqual(d.getall('foo'), ('bar',))
211213

212214
def test_extend(self):
213215
d = self.make_dict()
214216
self.assertEqual(d, {})
215217

216218
d.extend([('key', 'one'), ('key', 'two')], key=3, foo='bar')
217219
self.assertEqual(d, {'key': 'one', 'foo': 'bar'})
218-
self.assertEqual(list(d.items(getall=True)), [
219-
('key', 'one'), ('key', 'two'),
220-
('key', 3), ('foo', 'bar')])
220+
itms = d.items(getall=True)
221+
# we can't guarantee order of kwargs
222+
self.assertTrue(('key', 'one') in itms)
223+
self.assertTrue(('key', 'two') in itms)
224+
self.assertTrue(('key', 3) in itms)
225+
self.assertTrue(('foo', 'bar') in itms)
221226

222227
other = self.make_dict(bar='baz')
223228
self.assertEqual(other, {'bar': 'baz'})
224229

225230
d.extend(other)
226231
self.assertEqual(d, {'key': 'one', 'foo': 'bar', 'bar': 'baz'})
227-
self.assertEqual(list(d.items(getall=True)), [
228-
('key', 'one'), ('key', 'two'),
229-
('key', 3), ('foo', 'bar'),
230-
('bar', 'baz'),
231-
])
232+
self.assertIn(('bar', 'baz'), d.items(getall=True))
232233

233234
d.extend({'foo': 'moo'})
234235
self.assertEqual(d, {'key': 'one', 'foo': 'bar', 'bar': 'baz'})
235-
self.assertEqual(list(d.items(getall=True)), [
236-
('key', 'one'), ('key', 'two'),
237-
('key', 3), ('foo', 'bar'),
238-
('foo', 'moo'), ('bar', 'baz'),
239-
])
236+
self.assertIn(('foo', 'moo'), d.items(getall=True))
240237

241238
d.extend()
242239
self.assertEqual(d, {'key': 'one', 'foo': 'bar', 'bar': 'baz'})
243-
self.assertEqual(list(d.items(getall=True)), [
244-
('key', 'one'), ('key', 'two'),
245-
('key', 3), ('foo', 'bar'),
246-
('foo', 'moo'), ('bar', 'baz'),
247-
])
248240

249241
with self.assertRaises(TypeError):
250242
d.extend('foo', 'bar')
@@ -294,9 +286,9 @@ def test_getall(self):
294286
d = self.make_dict([('KEY', 'value1')], KEY='value2')
295287

296288
self.assertEqual(d, {'KEY': 'value1'})
297-
self.assertEqual(len(d), 1)
289+
self.assertEqual(len(d), 2)
298290

299-
self.assertEqual(d.getall('key'), ['value1', 'value2'])
291+
self.assertEqual(d.getall('key'), ('value1', 'value2'))
300292

301293
with self.assertRaisesRegex(KeyError, "SOME_KEY"):
302294
d.getall('some_key')

0 commit comments

Comments
 (0)