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