mirror of https://github.com/scrapy/scrapy.git
Test request kwargs (copy, serialization)
This commit is contained in:
parent
a67f1ce512
commit
770a501fb3
|
|
@ -40,8 +40,14 @@ class Request(object_ref):
|
|||
self.dont_filter = dont_filter
|
||||
|
||||
self._meta = dict(meta) if meta else None
|
||||
self._kwargs = dict(kwargs) if kwargs else None
|
||||
self.flags = [] if flags is None else list(flags)
|
||||
self.kwargs = dict(kwargs) if kwargs else None
|
||||
|
||||
@property
|
||||
def kwargs(self):
|
||||
if self._kwargs is None:
|
||||
self._kwargs = {}
|
||||
return self._kwargs
|
||||
|
||||
@property
|
||||
def meta(self):
|
||||
|
|
|
|||
|
|
@ -177,6 +177,7 @@ class RequestTest(unittest.TestCase):
|
|||
r1 = self.request_class("http://www.example.com", flags=['f1', 'f2'],
|
||||
callback=somecallback, errback=somecallback)
|
||||
r1.meta['foo'] = 'bar'
|
||||
r1.kwargs['key'] = 'value'
|
||||
r2 = r1.copy()
|
||||
|
||||
# make sure copy does not propagate callbacks
|
||||
|
|
@ -189,6 +190,10 @@ class RequestTest(unittest.TestCase):
|
|||
assert r1.flags is not r2.flags, "flags must be a shallow copy, not identical"
|
||||
self.assertEqual(r1.flags, r2.flags)
|
||||
|
||||
# make sure kwargs dict is shallow copied
|
||||
assert r1.kwargs is not r2.kwargs, "kwargs must be a shallow copy, not identical"
|
||||
self.assertEqual(r1.kwargs, r2.kwargs)
|
||||
|
||||
# make sure meta dict is shallow copied
|
||||
assert r1.meta is not r2.meta, "meta must be a shallow copy, not identical"
|
||||
self.assertEqual(r1.meta, r2.meta)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ class RequestSerializationTest(unittest.TestCase):
|
|||
encoding='latin-1',
|
||||
priority=20,
|
||||
meta={'a': 'b'},
|
||||
kwargs={'k': 'v'},
|
||||
flags=['testFlag'])
|
||||
self._assert_serializes_ok(r, spider=self.spider)
|
||||
|
||||
|
|
@ -52,6 +53,7 @@ class RequestSerializationTest(unittest.TestCase):
|
|||
self.assertEqual(r1.headers, r2.headers)
|
||||
self.assertEqual(r1.cookies, r2.cookies)
|
||||
self.assertEqual(r1.meta, r2.meta)
|
||||
self.assertEqual(r1.kwargs, r2.kwargs)
|
||||
self.assertEqual(r1._encoding, r2._encoding)
|
||||
self.assertEqual(r1.priority, r2.priority)
|
||||
self.assertEqual(r1.dont_filter, r2.dont_filter)
|
||||
|
|
|
|||
Loading…
Reference in New Issue