Skip to content

Commit 8d6a81e

Browse files
authored
Merge pull request #1235 from Pchelolo/test_parsoid_php
Tests: Remove dependency from production wikis
2 parents 9d07f35 + e1e0ad2 commit 8d6a81e

20 files changed

+276
-494
lines changed

config.frontend.test.yaml

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ default_project: &default_project
1212
grace_ttl: 1000000
1313
php_host: https://en.wikipedia.beta.wmflabs.org/w/rest.php
1414
proxy:
15-
default_variant: js
16-
mode: split
17-
pattern:
18-
- en.wikipedia.beta.wmflabs.org
15+
default_variant: php
1916
action:
2017
apiUriTemplate: "{{'https://{domain}/w/api.php'}}"
2118
baseUriTemplate: "{{'https://{domain}/api/rest_v1'}}"
@@ -184,42 +181,28 @@ spec_root: &spec_root
184181
forward_headers: true
185182
- pattern: /^https?:\/\//
186183
paths:
187-
/{domain:test.wikipedia.org}: *wikipedia_project
184+
/{domain:commons.wikimedia.beta.wmflabs.org}: *commons_project
188185
# The order is important for tests.
189186
# Redirect tests require en.wiki being not the first wiki in the list.
190-
/{domain:en.wikipedia.org}: *wikipedia_project
191-
/{domain:ru.wikipedia.org}: *wikipedia_project
192-
/{domain:de.wikipedia.org}: *wikipedia_project
193-
/{domain:test2.wikipedia.org}: *wikipedia_project
194-
/{domain:commons.wikimedia.org}: *commons_project
195-
/{domain:www.wikidata.org}: *wikidata_project
196-
197-
# labs, used for most tests
198187
/{domain:en.wikipedia.beta.wmflabs.org}: *wikipedia_project
199-
/{domain:commons.wikimedia.beta.wmflabs.org}: *commons_project
188+
/{domain:de.wikipedia.beta.wmflabs.org}: *wikipedia_project
200189
/{domain:wikidata.beta.wmflabs.org}: *wikidata_project
201-
202190
# Serbian wiki in beta for language variants tests
203191
/{domain:sr.wikipedia.beta.wmflabs.org}: *wikipedia_project
204-
205-
# For security testing we rely on mocks, so it's OK to use French wiki.
206-
/{domain:fr.wikipedia.org}:
192+
# For security testing we rely on mocks, so it's OK to use Russian wiki.
193+
/{domain:ru.wikipedia.beta.wmflabs.org}:
207194
<<: *wikipedia_project
208195
x-route-filters:
209196
- path: ./lib/mediawiki_auth_filter.js
210197
options:
211198
permissions:
212199
- read
213-
214200
# global domain
215201
/{domain:wikimedia.org}: *wikimedia_project
216-
217202
# Wiktionary has some specific endpoints
218-
/{domain:en.wiktionary.org}: *wiktionary_project
219-
203+
/{domain:en.wiktionary.beta.wmflabs.org}: *wiktionary_project
220204
# Fake domain to run tests relying on test_module
221-
/{domain:fake.wikipedia.org}: *testing_project
222-
205+
/{domain:fake.fakepedia.org}: *testing_project
223206

224207
# Finally, a standard service-runner config.
225208
info:

config.fullstack.test.yaml

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,7 @@ default_project: &default_project
1111
grace_ttl: 1000000
1212
php_host: https://en.wikipedia.beta.wmflabs.org/w/rest.php
1313
proxy:
14-
default_variant: js
15-
mode: split
16-
pattern:
17-
- en.wikipedia.beta.wmflabs.org
14+
default_variant: php
1815
action:
1916
apiUriTemplate: "{{'https://{domain}/w/api.php'}}"
2017
baseUriTemplate: "{{'https://{domain}/api/rest_v1'}}"
@@ -220,41 +217,28 @@ spec_root: &spec_root
220217
forward_headers: true
221218
- pattern: /^https?:\/\//
222219
paths:
223-
/{domain:test.wikipedia.org}: *wikipedia_project
220+
/{domain:commons.wikimedia.beta.wmflabs.org}: *commons_project
224221
# The order is important for tests.
225222
# Redirect tests require en.wiki being not the first wiki in the list.
226-
/{domain:en.wikipedia.org}: *wikipedia_project
227-
/{domain:ru.wikipedia.org}: *wikipedia_project
228-
/{domain:de.wikipedia.org}: *wikipedia_project
229-
/{domain:test2.wikipedia.org}: *wikipedia_project
230-
/{domain:commons.wikimedia.org}: *commons_project
231-
/{domain:www.wikidata.org}: *wikidata_project
232-
233-
# labs, used for most tests
234223
/{domain:en.wikipedia.beta.wmflabs.org}: *wikipedia_project
235-
/{domain:commons.wikimedia.beta.wmflabs.org}: *commons_project
224+
/{domain:de.wikipedia.beta.wmflabs.org}: *wikipedia_project
236225
/{domain:wikidata.beta.wmflabs.org}: *wikidata_project
237-
238226
# Serbian wiki in beta for language variants tests
239227
/{domain:sr.wikipedia.beta.wmflabs.org}: *wikipedia_project
240-
241-
# For security testing we rely on mocks, so it's OK to use French wiki.
242-
/{domain:fr.wikipedia.org}:
228+
# For security testing we rely on mocks, so it's OK to use Russian wiki.
229+
/{domain:ru.wikipedia.beta.wmflabs.org}:
243230
<<: *wikipedia_project
244231
x-route-filters:
245232
- path: ./lib/mediawiki_auth_filter.js
246233
options:
247234
permissions:
248235
- read
249-
250236
# global domain
251237
/{domain:wikimedia.org}: *wikimedia_project
252-
253238
# Wiktionary has some specific endpoints
254-
/{domain:en.wiktionary.org}: *wiktionary_project
255-
239+
/{domain:en.wiktionary.beta.wmflabs.org}: *wiktionary_project
256240
# Fake domain to run tests relying on test_module
257-
/{domain:fake.wikipedia.org}: *testing_project
241+
/{domain:fake.fakepedia.org}: *testing_project
258242

259243
# Finally, a standard service-runner config.
260244
info:

lib/parsoid.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,7 @@ class ParsoidService {
708708
if (rp.revision) {
709709
path += `/${rp.revision}`;
710710
}
711-
return hyper.post(this._getParsoidReq(req, path, {}));
711+
return hyper.post(this._getParsoidReq(req, path, {}, {}));
712712
}
713713

714714
makeTransform(from, to) {

test/features/events/events.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ describe('Change event emitting', () => {
1414

1515
it('should not explode if events config is not provided', () => {
1616
return preq.post({
17-
uri: `${server.config.baseURL('fake.wikipedia.org')}/events_no_config/`,
17+
uri: `${server.config.baseURL('fake.fakepedia.org')}/events_no_config/`,
1818
body: [
19-
{ uri: '//fake.wikipedia.org' }
19+
{ uri: '//fake.fakepedia.org' }
2020
]
2121
});
2222
});
@@ -34,7 +34,7 @@ describe('Change event emitting', () => {
3434
const events = JSON.parse(postData.toString());
3535
assert.deepEqual(events.length, 1);
3636
const event = events[0];
37-
assert.deepEqual(event.meta.domain, 'fake.wikipedia.org');
37+
assert.deepEqual(event.meta.domain, 'fake.fakepedia.org');
3838
assert.deepEqual(!!new Date(event.meta.dt), true);
3939
assert.deepEqual(uuidUtils.test(event.meta.id), true);
4040
assert.deepEqual(uuidUtils.test(event.meta.request_id), true);
@@ -71,19 +71,19 @@ describe('Change event emitting', () => {
7171

7272
eventLogging = createEventLogging(really_done, {
7373
stream: 'resource_change',
74-
uri: 'http://fake.wikipedia.org/wiki/User:Pchelolo'
74+
uri: 'http://fake.fakepedia.org/wiki/User:Pchelolo'
7575
});
7676

7777
preq.post({
78-
uri: `${server.config.baseURL('fake.wikipedia.org')}/events/`,
78+
uri: `${server.config.baseURL('fake.fakepedia.org')}/events/`,
7979
headers: {
8080
'content-type': 'application/json',
8181
connection: 'close',
8282
},
8383
body: [
8484
{
8585
meta: {
86-
uri: '//fake.wikipedia.org/wiki/User:Pchelolo'
86+
uri: '//fake.fakepedia.org/wiki/User:Pchelolo'
8787
},
8888
tags: ['test']
8989
},
@@ -110,21 +110,21 @@ describe('Change event emitting', () => {
110110

111111
eventLogging = createEventLogging(really_done, {
112112
stream: 'change-prop.transcludes.resource-change',
113-
uri: 'http://fake.wikipedia.org/api/rest_v1/page/html/User:Pchelolo',
114-
trigger: 'mediawiki.revision-create:https://en.wikimedia.org/wiki/Template:One,change-prop.transcludes.resource-change:https://fake.wikipedia.org/wiki/User:Pchelolo'
113+
uri: 'http://fake.fakepedia.org/api/rest_v1/page/html/User:Pchelolo',
114+
trigger: 'mediawiki.revision-create:https://en.wikimedia.org/wiki/Template:One,change-prop.transcludes.resource-change:https://fake.fakepedia.org/wiki/User:Pchelolo'
115115
});
116116

117117
preq.post({
118-
uri: `${server.config.baseURL('fake.wikipedia.org')}/events/`,
118+
uri: `${server.config.baseURL('fake.fakepedia.org')}/events/`,
119119
headers: {
120120
'content-type': 'application/json',
121121
connection: 'close',
122-
'x-triggered-by': 'mediawiki.revision-create:https://en.wikimedia.org/wiki/Template:One,change-prop.transcludes.resource-change:https://fake.wikipedia.org/wiki/User:Pchelolo'
122+
'x-triggered-by': 'mediawiki.revision-create:https://en.wikimedia.org/wiki/Template:One,change-prop.transcludes.resource-change:https://fake.fakepedia.org/wiki/User:Pchelolo'
123123
},
124124
body: [
125125
{
126126
meta: {
127-
uri: '//fake.wikipedia.org/api/rest_v1/page/html/User:Pchelolo'
127+
uri: '//fake.fakepedia.org/api/rest_v1/page/html/User:Pchelolo'
128128
},
129129
tags: ['test']
130130
}
@@ -149,26 +149,26 @@ describe('Change event emitting', () => {
149149

150150
eventLogging = createEventLogging(really_done, {
151151
stream: 'resource_change',
152-
uri: 'http://fake.wikipedia.org/wiki/User:Pchelolo',
153-
trigger: 'resource_change:https://fake.wikipedia.org/wiki/Prohibited'
152+
uri: 'http://fake.fakepedia.org/wiki/User:Pchelolo',
153+
trigger: 'resource_change:https://fake.fakepedia.org/wiki/Prohibited'
154154
});
155155

156156
preq.post({
157-
uri: `${server.config.baseURL('fake.wikipedia.org')}/events/`,
157+
uri: `${server.config.baseURL('fake.fakepedia.org')}/events/`,
158158
headers: {
159159
'content-type': 'application/json',
160-
'x-triggered-by': 'resource_change:https://fake.wikipedia.org/wiki/Prohibited'
160+
'x-triggered-by': 'resource_change:https://fake.fakepedia.org/wiki/Prohibited'
161161
},
162162
body: [
163163
{
164164
meta: {
165-
uri: '//fake.wikipedia.org/wiki/Prohibited'
165+
uri: '//fake.fakepedia.org/wiki/Prohibited'
166166
},
167167
tags: ['test']
168168
},
169169
{
170170
meta: {
171-
uri: '//fake.wikipedia.org/wiki/User:Pchelolo'
171+
uri: '//fake.fakepedia.org/wiki/User:Pchelolo'
172172
},
173173
tags: ['test']
174174
}

test/features/feed.js

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,28 +4,28 @@ const assert = require('../utils/assert.js');
44
const Server = require('../utils/server.js');
55
const preq = require('preq');
66

7-
function assertMCSRequest(content, date, expected) {
8-
const serviceURI = 'https://wikifeeds.wmflabs.org';
9-
let path = `/en.wikipedia.org/v1/${content}`;
10-
if (date) {
11-
path += `/${date}`;
12-
}
13-
const serviceRequests = assert.findRequests(log =>
14-
log.scope.startsWith(serviceURI) && log.path.startsWith(path));
15-
if (expected) {
16-
assert.deepEqual(serviceRequests.length > 0, true,
17-
`Should have made request to service for ${content}`);
18-
} else {
19-
assert.deepEqual(serviceRequests.length === 0, true,
20-
`Should NOT have made request to service for ${content}`);
21-
}
22-
}
23-
247
describe('Featured feed', () => {
258
const server = new Server();
269
before(() => server.start());
2710
after(() => server.stop());
2811

12+
function assertMCSRequest(content, date, expected) {
13+
const serviceURI = 'https://wikifeeds.wmflabs.org';
14+
let path = `/${server.config.defaultDomain}/v1/${content}`;
15+
if (date) {
16+
path += `/${date}`;
17+
}
18+
const serviceRequests = assert.findRequests(log =>
19+
log.scope.startsWith(serviceURI) && log.path.startsWith(path));
20+
if (expected) {
21+
assert.deepEqual(serviceRequests.length > 0, true,
22+
`Should have made request to service for ${content}`);
23+
} else {
24+
assert.deepEqual(serviceRequests.length === 0, true,
25+
`Should NOT have made request to service for ${content}`);
26+
}
27+
}
28+
2929
it('Should render non-available historic content', () => {
3030
const date = '2016/10/01';
3131
assert.recordRequests();

0 commit comments

Comments
 (0)