jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/913564 )

Change subject: [tests] Skip HttpbinTestCase tests when a ServerError occurs
......................................................................

[tests] Skip HttpbinTestCase tests when a ServerError occurs

add a new method fetch() to aspects.HttpbinTestCase which delegates
request to http.fetch() but skips the test on ServerErrors.

Bug: T335622
Change-Id: Id8199c483c955098053ffe0d04d8d342fa97a489
---
M tests/aspects.py
M tests/http_tests.py
2 files changed, 28 insertions(+), 9 deletions(-)

Approvals:
  Xqt: Looks good to me, approved
  jenkins-bot: Verified




diff --git a/tests/aspects.py b/tests/aspects.py
index d3ebde0..4515cb2 100644
--- a/tests/aspects.py
+++ b/tests/aspects.py
@@ -49,6 +49,7 @@
     DrySite,
     WarningSourceSkipContextManager,
     execute_pwb,
+    skipping,
 )


@@ -1569,3 +1570,8 @@
     def get_httpbin_hostname(self):
         """Return httpbin hostname."""
         return 'httpbin.org'
+
+    def fetch(self, *args, **kwargs):
+        """Delegate http request to http.fetch but skip on ServerError."""
+        with skipping(ServerError):
+            return http.fetch(*args, **kwargs)
diff --git a/tests/http_tests.py b/tests/http_tests.py
index a21b7bc..b84eaa5 100755
--- a/tests/http_tests.py
+++ b/tests/http_tests.py
@@ -258,21 +258,21 @@

     def test_existing_headers(self):
         """Test fake_user_agent with existing headers."""
-        r = http.fetch(self.get_httpbin_url('/status/200'),
+        r = self.fetch(self.get_httpbin_url('/status/200'),
                        headers={'user-agent': 'EXISTING'})
         self.assertEqual(r.request.headers['user-agent'], 'EXISTING')

     def test_argument_values_changes(self):
         """Test fake_user_agent with argument value changes."""
-        r = http.fetch(self.get_httpbin_url('/status/200'),
+        r = self.fetch(self.get_httpbin_url('/status/200'),
                        use_fake_user_agent=True)
         self.assertNotEqual(r.request.headers['user-agent'], http.user_agent())

-        r = http.fetch(self.get_httpbin_url('/status/200'),
+        r = self.fetch(self.get_httpbin_url('/status/200'),
                        use_fake_user_agent=False)
         self.assertEqual(r.request.headers['user-agent'], http.user_agent())

-        r = http.fetch(self.get_httpbin_url('/status/200'),
+        r = self.fetch(self.get_httpbin_url('/status/200'),
                        use_fake_user_agent='ARBITRARY')
         self.assertEqual(r.request.headers['user-agent'], 'ARBITRARY')

@@ -280,21 +280,21 @@
         """Test fake_user_agent with empty value."""
         with self.assertRaisesRegex(ValueError,
                                     'Invalid parameter: use_fake_user_agent'):
-            http.fetch(self.get_httpbin_url('/status/200'),
+            self.fetch(self.get_httpbin_url('/status/200'),
                        use_fake_user_agent='')

     def test_parameter_set_to_none(self):
         """Test fake_user_agent with parameter wrongly set to None."""
         with self.assertRaisesRegex(ValueError,
                                     'Invalid parameter: use_fake_user_agent'):
-            http.fetch(self.get_httpbin_url('/status/200'),
+            self.fetch(self.get_httpbin_url('/status/200'),
                        use_fake_user_agent=None)

     def test_overridden_domains(self):
         """Test fake_user_agent with manually overridden domains."""
         config.fake_user_agent_exceptions = {
             self.get_httpbin_hostname(): 'OVERRIDDEN'}
-        r = http.fetch(self.get_httpbin_url('/status/200'),
+        r = self.fetch(self.get_httpbin_url('/status/200'),
                        use_fake_user_agent=False)
         self.assertEqual(r.request.headers['user-agent'], 'OVERRIDDEN')

@@ -564,10 +564,10 @@
             'X-Amzn-Trace-Id', 'X-B3-Parentspanid', 'X-B3-Spanid',
             'X-B3-Traceid', 'X-Forwarded-Client-Cert',
         )
-        r_data_request = http.fetch(self.get_httpbin_url('/post'),
+        r_data_request = self.fetch(self.get_httpbin_url('/post'),
                                     method='POST',
                                     data={'fish&chips': 'delicious'})
-        r_body_request = http.fetch(self.get_httpbin_url('/post'),
+        r_body_request = self.fetch(self.get_httpbin_url('/post'),
                                     method='POST',
                                     data={'fish&chips': 'delicious'})


--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/913564
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: Id8199c483c955098053ffe0d04d8d342fa97a489
Gerrit-Change-Number: 913564
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <i...@gno.de>
Gerrit-Reviewer: Xqt <i...@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org
To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org

Reply via email to