37
37
)
38
38
39
39
40
+ def run_initial_dns_seedlist_discovery_prose_tests (self , test_cases ):
41
+ for case in test_cases :
42
+ with patch ("dns.resolver.resolve" ) as mock_resolver :
43
+
44
+ def mock_resolve (query , record_type , * args , ** kwargs ):
45
+ mock_srv = MagicMock ()
46
+ mock_srv .target .to_text .return_value = case ["mock_target" ]
47
+ return [mock_srv ]
48
+
49
+ mock_resolver .side_effect = mock_resolve
50
+ domain = case ["query" ].split ("._tcp." )[1 ]
51
+ connection_string = f"mongodb+srv://{ domain } "
52
+ try :
53
+ parse_uri (connection_string )
54
+ except ConfigurationError as e :
55
+ self .assertIn (case ["expected_error" ], str (e ))
56
+ else :
57
+ self .fail (f"ConfigurationError was not raised for query: { case ['query' ]} " )
58
+
59
+
40
60
class TestURI (unittest .TestCase ):
41
61
def test_validate_userinfo (self ):
42
62
self .assertRaises (InvalidURI , parse_userinfo , "foo@" )
@@ -580,23 +600,7 @@ def test_2_throw_when_return_address_does_not_end_with_srv_domain(self):
580
600
"expected_error" : "Invalid SRV host" ,
581
601
},
582
602
]
583
- for case in test_cases :
584
- with patch ("dns.resolver.resolve" ) as mock_resolver :
585
-
586
- def mock_resolve (query , record_type , * args , ** kwargs ):
587
- mock_srv = MagicMock ()
588
- mock_srv .target .to_text .return_value = case ["mock_target" ]
589
- return [mock_srv ]
590
-
591
- mock_resolver .side_effect = mock_resolve
592
- domain = case ["query" ].split ("._tcp." )[1 ]
593
- connection_string = f"mongodb+srv://{ domain } "
594
- try :
595
- parse_uri (connection_string )
596
- except ConfigurationError as e :
597
- self .assertIn (case ["expected_error" ], str (e ))
598
- else :
599
- self .fail (f"ConfigurationError was not raised for query: { case ['query' ]} " )
603
+ run_initial_dns_seedlist_discovery_prose_tests (self , test_cases )
600
604
601
605
def test_3_throw_when_return_address_is_identical_to_srv_hostname (self ):
602
606
test_cases = [
@@ -611,23 +615,7 @@ def test_3_throw_when_return_address_is_identical_to_srv_hostname(self):
611
615
"expected_error" : "Invalid SRV host" ,
612
616
},
613
617
]
614
- for case in test_cases :
615
- with patch ("dns.resolver.resolve" ) as mock_resolver :
616
-
617
- def mock_resolve (query , record_type , * args , ** kwargs ):
618
- mock_srv = MagicMock ()
619
- mock_srv .target .to_text .return_value = case ["mock_target" ]
620
- return [mock_srv ]
621
-
622
- mock_resolver .side_effect = mock_resolve
623
- domain = case ["query" ].split ("._tcp." )[1 ]
624
- connection_string = f"mongodb+srv://{ domain } "
625
- try :
626
- parse_uri (connection_string )
627
- except ConfigurationError as e :
628
- self .assertIn (case ["expected_error" ], str (e ))
629
- else :
630
- self .fail (f"ConfigurationError was not raised for query: { case ['query' ]} " )
618
+ run_initial_dns_seedlist_discovery_prose_tests (self , test_cases )
631
619
632
620
def test_4_throw_when_return_address_does_not_contain_dot_separating_shared_part_of_domain (
633
621
self
@@ -649,23 +637,7 @@ def test_4_throw_when_return_address_does_not_contain_dot_separating_shared_part
649
637
"expected_error" : "Invalid SRV host" ,
650
638
},
651
639
]
652
- for case in test_cases :
653
- with patch ("dns.resolver.resolve" ) as mock_resolver :
654
-
655
- def mock_resolve (query , record_type , * args , ** kwargs ):
656
- mock_srv = MagicMock ()
657
- mock_srv .target .to_text .return_value = case ["mock_target" ]
658
- return [mock_srv ]
659
-
660
- mock_resolver .side_effect = mock_resolve
661
- domain = case ["query" ].split ("._tcp." )[1 ]
662
- connection_string = f"mongodb+srv://{ domain } "
663
- try :
664
- parse_uri (connection_string )
665
- except ConfigurationError as e :
666
- self .assertIn (case ["expected_error" ], str (e ))
667
- else :
668
- self .fail (f"ConfigurationError was not raised for query: { case ['query' ]} " )
640
+ run_initial_dns_seedlist_discovery_prose_tests (self , test_cases )
669
641
670
642
671
643
if __name__ == "__main__" :
0 commit comments