(self)
| 111 | crawl_delay = None |
| 112 | |
| 113 | def test_request_rate(self): |
| 114 | parser = self.parser |
| 115 | for url in self.good + self.bad: |
| 116 | agent, url = self.get_agent_and_url(url) |
| 117 | with self.subTest(url=url, agent=agent): |
| 118 | self.assertEqual(parser.crawl_delay(agent), self.crawl_delay) |
| 119 | |
| 120 | parsed_request_rate = parser.request_rate(agent) |
| 121 | self.assertEqual(parsed_request_rate, self.request_rate) |
| 122 | if self.request_rate is not None: |
| 123 | self.assertIsInstance( |
| 124 | parsed_request_rate, |
| 125 | urllib.robotparser.RequestRate |
| 126 | ) |
| 127 | self.assertEqual( |
| 128 | parsed_request_rate.requests, |
| 129 | self.request_rate.requests |
| 130 | ) |
| 131 | self.assertEqual( |
| 132 | parsed_request_rate.seconds, |
| 133 | self.request_rate.seconds |
| 134 | ) |
| 135 | |
| 136 | |
| 137 | class EmptyFileTest(BaseRequestRateTest, unittest.TestCase): |
nothing calls this directly
no test coverage detected