def test_copy(self): def somecallback(): pass r1 = Request('http://www.example.com', callback=somecallback, errback=somecallback, method='post', headers={'hello': 'world'}, params={'a': 'b'}, body='blablabla', meta={'c': 'd'}, proxy='123', priority=10, history=[1, 2, 3], encoding='latin1') r2 = r1.copy() self.assertIs(r1.callback, somecallback) self.assertIs(r1.errback, somecallback) self.assertIs(r2.callback, r1.callback) self.assertIs(r2.errback, r2.errback) self.assertEqual(r1.url, r2.url) self.assertEqual(r1.method, r2.method) self.assertIsNot(r1.headers, r2.headers) self.assertDictEqual(r1.headers, r2.headers) self.assertIsNot(r1.meta, r2.meta) self.assertDictEqual(r1.meta, r2.meta) self.assertIsNot(r1.history, r2.history) self.assertListEqual(r1.history, r2.history) self.assertEqual(r1.body, r2.body) self.assertEqual(r1.proxy, r2.proxy) self.assertEqual(r1.priority, r2.priority) self.assertEqual(r1.encoding, r2.encoding)