def test_sticky_params(self): spider = Spider('dummy') spider.sticky_meta_keys = ['param2'] crawler = self._get_crawler(spider) middleware = self.create_middleware(crawler) request = Request(self.test_url, meta={ 'param': 'Will not be stickied', 'param2': 'Stickied!' }) response = Response(self.test_url, request=request) result = [ Request(self.test_url), MockItem( name='dummy') # Add a item just to increase the test coverage ] for result in middleware.process_spider_output(response, result, spider): if isinstance(result, Request): self.assertEqual(result.meta, {'param2': 'Stickied!'})