diff --git a/wp1/selection/models/petscan_test.py b/wp1/selection/models/petscan_test.py index dbf63e9c..13d89234 100644 --- a/wp1/selection/models/petscan_test.py +++ b/wp1/selection/models/petscan_test.py @@ -105,3 +105,24 @@ def test_build_non_200(self, mock_requests_get): actual = self.builder.build( 'text/tab-separated-values', url='https://petscan.wmflabs.org.fake/?psid=42') + + def test_validate(self): + actual = self.builder.validate( + url='https://petscan.wmflabs.org.fake/?psid=42&format=wiki') + self.assertEqual(('', '', []), actual) + + def test_validate_missing_url(self): + actual = self.builder.validate() + self.assertEqual(('', '', ['Missing URL parameter']), actual) + + def test_validate_not_a_url(self): + afctual = self.builder.validate(url='http:// foo bar [baz]') + self.assertEqual( + ('', 'http:// foo bar [baz]', ['That doesn\'t look like a valid URL.']), + actual) + + def test_validate_not_a_petscan_url(self): + afctual = self.builder.validate(url='http://en.wikipedia.org/') + self.assertEqual( + ('', 'http://en.wikipedia.org/', + ['Only URLs that lead to petscan.wmflabs.org are allowed.']), actual)