Ori.livneh has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/74926


Change subject: Update HttpSchemaTestMixin for `http_get`
......................................................................

Update HttpSchemaTestMixin for `http_get`

This patch updates HttpSchemaTestMixin to stub `http_get` rather than
`urlopen`, as the former is now what the production code uses to retrieve
schema.

Also removes outer try/except loop from eventlogging-consumer.

Change-Id: I49db6947791e88bcd221d0e446f8201d58e1b76b
---
M server/bin/eventlogging-consumer
M server/tests/fixtures.py
M server/tests/test_schema.py
3 files changed, 13 insertions(+), 17 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/EventLogging 
refs/changes/26/74926/1

diff --git a/server/bin/eventlogging-consumer b/server/bin/eventlogging-consumer
index e58abf4..9d793d3 100755
--- a/server/bin/eventlogging-consumer
+++ b/server/bin/eventlogging-consumer
@@ -46,8 +46,4 @@
     eventlogging.load_plugins()
 
 log.info('Driving %s -> %s..', args.input, args.output)
-while 1:
-    try:
-        eventlogging.drive(args.input, args.output)
-    except:
-        log.exception('drive() failure')
+eventlogging.drive(args.input, args.output)
diff --git a/server/tests/fixtures.py b/server/tests/fixtures.py
index 5aa16d9..1fb9a5c 100644
--- a/server/tests/fixtures.py
+++ b/server/tests/fixtures.py
@@ -174,22 +174,22 @@
 class HttpSchemaTestMixin(object):
     """A :class:`unittest.TestCase` mix-in for stubbing HTTP responses."""
 
-    http_resp = b''
+    http_resp = ''
 
     def setUp(self):
-        """Replace `urlopen` with stub."""
+        """Replace `http_get` with stub."""
         super(HttpSchemaTestMixin, self).setUp()
-        self.orig_urlopen = eventlogging.schema.urlopen
-        eventlogging.schema.urlopen = self.urlopen_stub
+        self.orig_http_get = eventlogging.schema.http_get
+        eventlogging.schema.http_get = self.http_get_stub
         eventlogging.schema.schema_cache.clear()
 
     def tearDown(self):
-        """Restore original `urlopen`."""
-        eventlogging.schema.urlopen = self.orig_urlopen
+        """Restore original `http_get`."""
+        eventlogging.schema.http_get = self.orig_http_get
 
-    def urlopen_stub(self, url):
-        """Test stub for `urlopen`."""
-        return io.BytesIO(self.http_resp)
+    def http_get_stub(self, url):
+        """Test stub for `http_get`."""
+        return self.http_resp
 
 
 class HandlerTestMixin(object):
diff --git a/server/tests/test_schema.py b/server/tests/test_schema.py
index 56bebbb..4aeb6ae 100644
--- a/server/tests/test_schema.py
+++ b/server/tests/test_schema.py
@@ -31,19 +31,19 @@
 
     def test_valid_resp(self):
         """Test handling of HTTP response containing valid schema."""
-        self.http_resp = b'{"properties":{"value":{"type":"number"}}}'
+        self.http_resp = '{"properties":{"value":{"type":"number"}}}'
         schema = eventlogging.schema.http_get_schema(TEST_SCHEMA_SCID)
         self.assertEqual(schema, {'properties': {'value': {'type': 'number'}}})
 
     def test_invalid_resp(self):
         """Test handling of HTTP response not containing valid schema."""
-        self.http_resp = b'"foo"'
+        self.http_resp = '"foo"'
         with self.assertRaises(eventlogging.SchemaError):
             eventlogging.schema.http_get_schema(TEST_SCHEMA_SCID)
 
     def test_caching(self):
         """Valid HTTP responses containing JSON Schema are cached."""
-        self.http_resp = b'{"properties":{"value":{"type":"number"}}}'
+        self.http_resp = '{"properties":{"value":{"type":"number"}}}'
         eventlogging.get_schema(TEST_SCHEMA_SCID)
         self.assertIn(TEST_SCHEMA_SCID, eventlogging.schema.schema_cache)
 

-- 
To view, visit https://gerrit.wikimedia.org/r/74926
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I49db6947791e88bcd221d0e446f8201d58e1b76b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventLogging
Gerrit-Branch: master
Gerrit-Owner: Ori.livneh <o...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to