MCPcopy
hub / github.com/scrapy/scrapy / test_dropitem_default_log_level

Method test_dropitem_default_log_level

tests/test_logformatter.py:70–112  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

68 assert lines == ["Dropped: \u2018", "{}"]
69
70 def test_dropitem_default_log_level(self):
71 item = {}
72 exception = DropItem("Test drop")
73 response = Response("http://www.example.com")
74 spider = Spider("foo")
75 spider.crawler = get_crawler(Spider)
76
77 logkws = self.formatter.dropped(item, exception, response, spider)
78 assert logkws["level"] == logging.WARNING
79
80 spider.crawler.settings.frozen = False
81 spider.crawler.settings["DEFAULT_DROPITEM_LOG_LEVEL"] = logging.INFO
82 spider.crawler.settings.frozen = True
83 logkws = self.formatter.dropped(item, exception, response, spider)
84 assert logkws["level"] == logging.INFO
85
86 spider.crawler.settings.frozen = False
87 spider.crawler.settings["DEFAULT_DROPITEM_LOG_LEVEL"] = "INFO"
88 spider.crawler.settings.frozen = True
89 logkws = self.formatter.dropped(item, exception, response, spider)
90 assert logkws["level"] == logging.INFO
91
92 spider.crawler.settings.frozen = False
93 spider.crawler.settings["DEFAULT_DROPITEM_LOG_LEVEL"] = 10
94 spider.crawler.settings.frozen = True
95 logkws = self.formatter.dropped(item, exception, response, spider)
96 assert logkws["level"] == logging.DEBUG
97
98 spider.crawler.settings.frozen = False
99 spider.crawler.settings["DEFAULT_DROPITEM_LOG_LEVEL"] = 0
100 spider.crawler.settings.frozen = True
101 logkws = self.formatter.dropped(item, exception, response, spider)
102 assert logkws["level"] == logging.NOTSET
103
104 unsupported_value = object()
105 spider.crawler.settings.frozen = False
106 spider.crawler.settings["DEFAULT_DROPITEM_LOG_LEVEL"] = unsupported_value
107 spider.crawler.settings.frozen = True
108 logkws = self.formatter.dropped(item, exception, response, spider)
109 assert logkws["level"] == unsupported_value
110
111 with pytest.raises(TypeError):
112 logging.log(logkws["level"], "message") # noqa: LOG015
113
114 def test_dropitem_custom_log_level(self):
115 item = {}

Callers

nothing calls this directly

Calls 6

DropItemClass · 0.90
ResponseClass · 0.90
SpiderClass · 0.90
get_crawlerFunction · 0.90
droppedMethod · 0.45
logMethod · 0.45

Tested by

no test coverage detected