BearND has uploaded a new change for review.
https://gerrit.wikimedia.org/r/298243
Change subject: Insert items array into random/title response
......................................................................
Insert items array into random/title response
RB page/title/{title} endpoint emits the title in an object wrapped in an items
array.
Let's do the same for consistency sake, and also that we can have compatible
output
when running the endpoints in RB vs. directly using MCS. See T132597#2446358
for discussion.
As a bonus, I've split up the tests for our random endpoints into two files.
One per route.
Bug: T132597
Change-Id: I920fed16ad2acc468d4c939bfa0480a4821414cf
---
M lib/mwapi.js
M spec.yaml
R test/features/random/summary.js
A test/features/random/title.js
4 files changed, 36 insertions(+), 13 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps
refs/changes/43/298243/1
diff --git a/lib/mwapi.js b/lib/mwapi.js
index 67b9ae9..116d281 100644
--- a/lib/mwapi.js
+++ b/lib/mwapi.js
@@ -165,7 +165,11 @@
function buildTitleResponse(pageObj) {
return {
- title: pageObj.title
+ items: [
+ {
+ title: pageObj.title
+ }
+ ]
};
}
diff --git a/spec.yaml b/spec.yaml
index 9359abf..b02fa73 100644
--- a/spec.yaml
+++ b/spec.yaml
@@ -114,7 +114,8 @@
pageid: /.+/
normalizedtitle: /.+/
random:
- title: /.+/
+ items:
+ - title: /.+/
news:
- story: /.+/
links:
@@ -303,7 +304,8 @@
headers:
content-type: application/json
body:
- title: /.+/
+ items:
+ - title: /.+/
# from routes/news.js
/{domain}/v1/page/news:
get:
diff --git a/test/features/random/pagecontent.js
b/test/features/random/summary.js
similarity index 74%
rename from test/features/random/pagecontent.js
rename to test/features/random/summary.js
index dabca91..a1233f5 100644
--- a/test/features/random/pagecontent.js
+++ b/test/features/random/summary.js
@@ -5,7 +5,7 @@
var server = require('../../utils/server.js');
var headers = require('../../utils/headers.js');
-describe('random', function() {
+describe('random/summary', function() {
this.timeout(20000);
before(function () { return server.start(); });
@@ -13,15 +13,6 @@
it('should respond to GET request with expected headers, incl. CORS and
CSP headers', function() {
return headers.checkHeaders(server.config.uri +
'en.wikipedia.org/v1/page/random/summary',
'application/json');
- });
-
- it('Random page title should have expected properties', function() {
- return preq.get({ uri: server.config.uri +
'de.wikipedia.org/v1/page/random/title' })
- .then(function(res) {
- var lead = res.body.lead;
- assert.deepEqual(res.status, 200);
- assert.ok(res.body.title.length > 0, 'title should not be
empty');
- });
});
it('Random page summary should have expected properties', function() {
diff --git a/test/features/random/title.js b/test/features/random/title.js
new file mode 100644
index 0000000..c4a41c0
--- /dev/null
+++ b/test/features/random/title.js
@@ -0,0 +1,26 @@
+'use strict';
+
+var assert = require('../../utils/assert.js');
+var preq = require('preq');
+var server = require('../../utils/server.js');
+var headers = require('../../utils/headers.js');
+
+describe('random/title', function() {
+ this.timeout(20000);
+
+ before(function () { return server.start(); });
+
+ it('should respond to GET request with expected headers, incl. CORS and
CSP headers', function() {
+ return headers.checkHeaders(server.config.uri +
'en.wikipedia.org/v1/page/random/title',
+ 'application/json');
+ });
+
+ it('Random page title should have expected properties', function() {
+ return preq.get({ uri: server.config.uri +
'de.wikipedia.org/v1/page/random/title' })
+ .then(function(res) {
+ var lead = res.body.lead;
+ assert.deepEqual(res.status, 200);
+ assert.ok(res.body.items[0].title.length > 0, 'title should
not be empty');
+ });
+ });
+});
--
To view, visit https://gerrit.wikimedia.org/r/298243
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I920fed16ad2acc468d4c939bfa0480a4821414cf
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/mobileapps
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits