Merge pull request #1098 from matrix-org/rav/test_rts_login

Groundwork for tests including a teamserver login
This commit is contained in:
Richard van der Hoff 2017-06-15 16:12:28 +01:00 committed by GitHub
commit 1f48b4caa6
5 changed files with 23 additions and 11 deletions

View file

@ -146,7 +146,6 @@ src/Roles.js
src/RoomListSorter.js src/RoomListSorter.js
src/RoomNotifs.js src/RoomNotifs.js
src/Rooms.js src/Rooms.js
src/RtsClient.js
src/ScalarAuthClient.js src/ScalarAuthClient.js
src/ScalarMessaging.js src/ScalarMessaging.js
src/SdkConfig.js src/SdkConfig.js

View file

@ -265,7 +265,11 @@ function _handleRestoreFailure(e) {
let rtsClient = null; let rtsClient = null;
export function initRtsClient(url) { export function initRtsClient(url) {
if (url) {
rtsClient = new RtsClient(url); rtsClient = new RtsClient(url);
} else {
rtsClient = null;
}
} }
/** /**

View file

@ -1,5 +1,7 @@
import 'whatwg-fetch'; import 'whatwg-fetch';
let fetchFunction = fetch;
function checkStatus(response) { function checkStatus(response) {
if (!response.ok) { if (!response.ok) {
return response.text().then((text) => { return response.text().then((text) => {
@ -31,7 +33,7 @@ const request = (url, opts) => {
opts.body = JSON.stringify(opts.body); opts.body = JSON.stringify(opts.body);
opts.headers['Content-Type'] = 'application/json'; opts.headers['Content-Type'] = 'application/json';
} }
return fetch(url, opts) return fetchFunction(url, opts)
.then(checkStatus) .then(checkStatus)
.then(parseJson); .then(parseJson);
}; };
@ -64,7 +66,7 @@ export default class RtsClient {
client_secret: clientSecret, client_secret: clientSecret,
}, },
method: 'POST', method: 'POST',
} },
); );
} }
@ -74,7 +76,7 @@ export default class RtsClient {
qs: { qs: {
team_token: teamToken, team_token: teamToken,
}, },
} },
); );
} }
@ -91,7 +93,12 @@ export default class RtsClient {
qs: { qs: {
user_id: userId, user_id: userId,
}, },
} },
); );
} }
// allow fetch to be replaced, for testing.
static setFetch(fn) {
fetchFunction = fn;
}
} }

View file

@ -263,11 +263,8 @@ module.exports = React.createClass({
window.addEventListener('resize', this.handleResize); window.addEventListener('resize', this.handleResize);
this.handleResize(); this.handleResize();
if (this.props.config.teamServerConfig && const teamServerConfig = this.props.config.teamServerConfig || {};
this.props.config.teamServerConfig.teamServerURL Lifecycle.initRtsClient(teamServerConfig.teamServerURL);
) {
Lifecycle.initRtsClient(this.props.config.teamServerConfig.teamServerURL);
}
// if the user has followed a login or register link, don't reanimate // if the user has followed a login or register link, don't reanimate
// the old creds, but rather go straight to the relevant page // the old creds, but rather go straight to the relevant page

View file

@ -15,6 +15,7 @@ limitations under the License.
*/ */
import Skinner from './Skinner'; import Skinner from './Skinner';
import RtsClient from './RtsClient';
module.exports.loadSkin = function(skinObject) { module.exports.loadSkin = function(skinObject) {
Skinner.load(skinObject); Skinner.load(skinObject);
@ -27,3 +28,7 @@ module.exports.resetSkin = function() {
module.exports.getComponent = function(componentName) { module.exports.getComponent = function(componentName) {
return Skinner.getComponent(componentName); return Skinner.getComponent(componentName);
}; };
module.exports.setFetch = function(fetchFunction) {
RtsClient.setFetch(fetchFunction);
};