MCPcopy
hub / github.com/scrapy/scrapy / test_meta

Method test_meta

tests/test_contracts.py:359–401  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

357 self.should_error()
358
359 def test_meta(self):
360 spider = DemoSpider()
361
362 # extract contracts correctly
363 contracts = self.conman.extract_contracts(spider.returns_request_meta)
364 assert len(contracts) == 3
365 assert frozenset(type(x) for x in contracts) == frozenset(
366 [UrlContract, MetadataContract, ReturnsContract]
367 )
368
369 contracts = self.conman.extract_contracts(spider.returns_item_meta)
370 assert len(contracts) == 3
371 assert frozenset(type(x) for x in contracts) == frozenset(
372 [UrlContract, MetadataContract, ReturnsContract]
373 )
374
375 response = ResponseMetaMock()
376
377 # returns_request
378 request = self.conman.from_method(spider.returns_request_meta, self.results)
379 assert request.meta["cookiejar"] == "session1"
380 response.meta = request.meta
381 request.callback(response)
382 assert response.meta["cookiejar"] == "session1"
383 self.should_succeed()
384
385 response = ResponseMetaMock()
386
387 # returns_item
388 request = self.conman.from_method(spider.returns_item_meta, self.results)
389 assert request.meta["key"] == "example"
390 response.meta = request.meta
391 request.callback(ResponseMetaMock)
392 assert response.meta["key"] == "example"
393 self.should_succeed()
394
395 response = ResponseMetaMock()
396
397 request = self.conman.from_method(
398 spider.returns_error_missing_meta, self.results
399 )
400 request.callback(response)
401 self.should_error()
402
403 def test_returns(self):
404 spider = DemoSpider()

Callers

nothing calls this directly

Calls 7

should_succeedMethod · 0.95
should_errorMethod · 0.95
DemoSpiderClass · 0.85
ResponseMetaMockClass · 0.85
extract_contractsMethod · 0.80
from_methodMethod · 0.80
callbackMethod · 0.80

Tested by

no test coverage detected