[FIX] Remove e2e from users endpoint responses (#12344)

pull/12384/head
Marcos Spessatto Defendi 7 years ago committed by Diego Sampaio
parent 5e18176dac
commit d2ab3f128f
  1. 1
      packages/rocketchat-api/package.js
  2. 1
      packages/rocketchat-api/server/api.js
  3. 70
      tests/end-to-end/api/01-users.js

@ -47,4 +47,5 @@ Package.onUse(function(api) {
api.addFiles('server/v1/stats.js', 'server'); api.addFiles('server/v1/stats.js', 'server');
api.addFiles('server/v1/users.js', 'server'); api.addFiles('server/v1/users.js', 'server');
api.addFiles('server/v1/assets.js', 'server'); api.addFiles('server/v1/assets.js', 'server');
api.addFiles('server/v1/e2e.js', 'server');
}); });

@ -11,6 +11,7 @@ class API extends Restivus {
joinCode: 0, joinCode: 0,
members: 0, members: 0,
importIds: 0, importIds: 0,
e2e: 0,
}; };
this.limitedUserFieldsToExclude = { this.limitedUserFieldsToExclude = {
avatarOrigin: 0, avatarOrigin: 0,

@ -14,15 +14,44 @@ import {
targetUser, targetUser,
log, log,
} from '../../data/api-data.js'; } from '../../data/api-data.js';
import { adminEmail, preferences, password } from '../../data/user.js'; import { adminEmail, preferences, password, adminUsername } from '../../data/user.js';
import { imgURL } from '../../data/interactions.js'; import { imgURL } from '../../data/interactions.js';
import { customFieldText, clearCustomFields, setCustomFields } from '../../data/custom-fields.js'; import { customFieldText, clearCustomFields, setCustomFields } from '../../data/custom-fields.js';
const updateSetting = (setting, value) => new Promise((resolve) => {
request.post(`/api/v1/settings/${ setting }`)
.set(credentials)
.send({ value })
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
})
.end(resolve);
});
describe('[Users]', function() { describe('[Users]', function() {
this.retries(0); this.retries(0);
before((done) => getCredentials(done)); before((done) => getCredentials(done));
it('enabling E2E in server and generating keys to user...', (done) => {
updateSetting('E2E_Enable', true).then(() => {
request.post(api('e2e.setUserPublicAndPivateKeys'))
.set(credentials)
.send({
private_key: 'test',
public_key: 'test',
})
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
})
.end(done);
});
});
describe('[/users.create]', () => { describe('[/users.create]', () => {
before((done) => clearCustomFields(done)); before((done) => clearCustomFields(done));
after((done) => clearCustomFields(done)); after((done) => clearCustomFields(done));
@ -48,6 +77,7 @@ describe('[Users]', function() {
expect(res.body).to.have.nested.property('user.emails[0].address', apiEmail); expect(res.body).to.have.nested.property('user.emails[0].address', apiEmail);
expect(res.body).to.have.nested.property('user.active', true); expect(res.body).to.have.nested.property('user.active', true);
expect(res.body).to.have.nested.property('user.name', apiUsername); expect(res.body).to.have.nested.property('user.name', apiUsername);
expect(res.body).to.not.have.nested.property('user.e2e');
expect(res.body).to.not.have.nested.property('user.customFields'); expect(res.body).to.not.have.nested.property('user.customFields');
@ -88,6 +118,7 @@ describe('[Users]', function() {
expect(res.body).to.have.nested.property('user.active', true); expect(res.body).to.have.nested.property('user.active', true);
expect(res.body).to.have.nested.property('user.name', username); expect(res.body).to.have.nested.property('user.name', username);
expect(res.body).to.have.nested.property('user.customFields.customFieldText', 'success'); expect(res.body).to.have.nested.property('user.customFields.customFieldText', 'success');
expect(res.body).to.not.have.nested.property('user.e2e');
}) })
.end(done); .end(done);
}); });
@ -190,6 +221,7 @@ describe('[Users]', function() {
expect(res.body).to.have.nested.property('user.emails[0].address', apiEmail); expect(res.body).to.have.nested.property('user.emails[0].address', apiEmail);
expect(res.body).to.have.nested.property('user.active', true); expect(res.body).to.have.nested.property('user.active', true);
expect(res.body).to.have.nested.property('user.name', apiUsername); expect(res.body).to.have.nested.property('user.name', apiUsername);
expect(res.body).to.not.have.nested.property('user.e2e');
}) })
.end(done); .end(done);
}); });
@ -222,6 +254,8 @@ describe('[Users]', function() {
expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('success', true);
expect(res.body).to.have.property('count'); expect(res.body).to.have.property('count');
expect(res.body).to.have.property('total'); expect(res.body).to.have.property('total');
const myself = res.body.users.find((user) => user.username === adminUsername);
expect(myself).to.not.have.property('e2e');
}) })
.end(done); .end(done);
}); });
@ -262,17 +296,6 @@ describe('[Users]', function() {
}); });
describe('[/users.update]', () => { describe('[/users.update]', () => {
const updateSetting = (setting, value) => new Promise((resolve) => {
request.post(`/api/v1/settings/${ setting }`)
.set(credentials)
.send({ value })
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
})
.end(resolve);
});
const updatePermission = (permission, roles) => new Promise((resolve) => { const updatePermission = (permission, roles) => new Promise((resolve) => {
request.post(api('permissions.update')) request.post(api('permissions.update'))
.set(credentials) .set(credentials)
@ -323,6 +346,7 @@ describe('[Users]', function() {
expect(res.body).to.have.nested.property('user.emails[0].address', apiEmail); expect(res.body).to.have.nested.property('user.emails[0].address', apiEmail);
expect(res.body).to.have.nested.property('user.active', true); expect(res.body).to.have.nested.property('user.active', true);
expect(res.body).to.have.nested.property('user.name', `edited${ apiUsername }`); expect(res.body).to.have.nested.property('user.name', `edited${ apiUsername }`);
expect(res.body).to.not.have.nested.property('user.e2e');
}) })
.end(done); .end(done);
}); });
@ -342,6 +366,7 @@ describe('[Users]', function() {
expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('success', true);
expect(res.body).to.have.nested.property('user.emails[0].address', `edited${ apiEmail }`); expect(res.body).to.have.nested.property('user.emails[0].address', `edited${ apiEmail }`);
expect(res.body).to.have.nested.property('user.emails[0].verified', false); expect(res.body).to.have.nested.property('user.emails[0].verified', false);
expect(res.body).to.not.have.nested.property('user.e2e');
}) })
.end(done); .end(done);
}); });
@ -360,6 +385,7 @@ describe('[Users]', function() {
.expect((res) => { .expect((res) => {
expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('success', true);
expect(res.body).to.have.nested.property('user.emails[0].verified', true); expect(res.body).to.have.nested.property('user.emails[0].verified', true);
expect(res.body).to.not.have.nested.property('user.e2e');
}) })
.end(done); .end(done);
}); });
@ -627,6 +653,23 @@ describe('[Users]', function() {
const editedName = `basic-info-test-name${ +new Date() }`; const editedName = `basic-info-test-name${ +new Date() }`;
const editedEmail = `test${ +new Date() }@mail.com`; const editedEmail = `test${ +new Date() }@mail.com`;
it('enabling E2E in server and generating keys to user...', (done) => {
updateSetting('E2E_Enable', true).then(() => {
request.post(api('e2e.setUserPublicAndPivateKeys'))
.set(userCredentials)
.send({
private_key: 'test',
public_key: 'test',
})
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
})
.end(done);
});
});
it('should update the user own basic information', (done) => { it('should update the user own basic information', (done) => {
request.post(api('users.updateOwnBasicInfo')) request.post(api('users.updateOwnBasicInfo'))
.set(userCredentials) .set(userCredentials)
@ -645,6 +688,7 @@ describe('[Users]', function() {
expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('success', true);
expect(user.username).to.be.equal(editedUsername); expect(user.username).to.be.equal(editedUsername);
expect(user.name).to.be.equal(editedName); expect(user.name).to.be.equal(editedName);
expect(user).to.not.have.property('e2e');
}) })
.end(done); .end(done);
}); });
@ -663,6 +707,7 @@ describe('[Users]', function() {
const { user } = res.body; const { user } = res.body;
expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('success', true);
expect(user.username).to.be.equal(editedUsername); expect(user.username).to.be.equal(editedUsername);
expect(user).to.not.have.property('e2e');
}) })
.end(done); .end(done);
}); });
@ -725,6 +770,7 @@ describe('[Users]', function() {
expect(res.body).to.have.property('success', true); expect(res.body).to.have.property('success', true);
expect(user.emails[0].address).to.be.equal(editedEmail); expect(user.emails[0].address).to.be.equal(editedEmail);
expect(user.emails[0].verified).to.be.false; expect(user.emails[0].verified).to.be.false;
expect(user).to.not.have.property('e2e');
}) })
.end(done); .end(done);
}); });

Loading…
Cancel
Save