def test_empy_blocked_domains(self, spider, middleware): test_cases = [ (Request('http://domain.org/1'), False), ] for request, should_block in test_cases: with self.subTest(request=request, should_block=should_block): self.assertEqual(middleware.should_block(request, spider), should_block)
def test_should_block_obeys_dont_filter(self, spider, middleware): test_cases = [ (Request('http://domain.org/1', dont_filter=True), False), (Request('http://domain.org/2'), True), ] for request, should_block in test_cases: with self.subTest(request=request, should_block=should_block): self.assertEqual(middleware.should_block(request, spider), should_block)
def test_block_entire_domain(self, spider, middleware): test_cases = [ (Request('http://sub.domain.org/1'), True), (Request('http://another.domain.org/2'), True), (Request('http://nested.sub.domain.org/3'), True), (Request('http://domain.org/4'), True), ] for request, should_block in test_cases: with self.subTest(request=request, should_block=should_block): self.assertEqual(middleware.should_block(request, spider), should_block)
def test_block_subdomain_list(self, spider, middleware): test_cases = [ (Request('http://sub.domain.org/1'), True), (Request('http://block.domain.org/2'), True), (Request('http://notblocked.domain.org/3'), False), (Request('http://nested.sub.domain.org/4'), True), (Request('http://domain.org/5'), False), ] for request, should_block in test_cases: with self.subTest(request=request, should_block=should_block): self.assertEqual(middleware.should_block(request, spider), should_block)