Skip to content

Commit

Permalink
[FIX] Fixed E2E default room settings not being honoured (#23468)
Browse files Browse the repository at this point in the history
Co-authored-by: Tasso Evangelista <[email protected]>
  • Loading branch information
ostjen and tassoevan authored Nov 16, 2021
1 parent eb0f205 commit 7660464
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 5 deletions.
5 changes: 2 additions & 3 deletions app/e2e/server/beforeCreateRoom.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,8 @@ import { settings } from '../../settings/server';

callbacks.add('beforeCreateRoom', ({ type, extraData }) => {
if (
settings.get('E2E_Enabled') && ((type === 'd' && settings.get('E2E_Enabled_Default_DirectRooms'))
|| (type === 'p' && settings.get('E2E_Enabled_Default_PrivateRooms')))
) {
settings.get('E2E_Enable') && ((type === 'd' && settings.get('E2E_Enabled_Default_DirectRooms'))
|| (type === 'p' && settings.get('E2E_Enabled_Default_PrivateRooms')))) {
extraData.encrypted = extraData.encrypted ?? true;
}
});
2 changes: 2 additions & 0 deletions app/e2e/server/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,13 @@ settingsRegistry.addGroup('E2E Encryption', function() {

this.add('E2E_Enabled_Default_DirectRooms', false, {
type: 'boolean',
public: true,
enableQuery: { _id: 'E2E_Enable', value: true },
});

this.add('E2E_Enabled_Default_PrivateRooms', false, {
type: 'boolean',
public: true,
enableQuery: { _id: 'E2E_Enable', value: true },
});
});
45 changes: 43 additions & 2 deletions tests/end-to-end/api/03-groups.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { expect } from 'chai';
import { getCredentials, api, request, credentials, group, apiPrivateChannelName } from '../../data/api-data.js';
import { adminUsername, password } from '../../data/user.js';
import { createUser, login } from '../../data/users.helper';
import { updatePermission } from '../../data/permissions.helper';
import { updatePermission, updateSetting } from '../../data/permissions.helper';
import { createRoom } from '../../data/rooms.helper';
import { createIntegration, removeIntegration } from '../../data/integration.helper';

Expand Down Expand Up @@ -43,7 +43,49 @@ describe('[Groups]', function() {
})
.end(done);
});
describe('/groups.create (encrypted)', () => {
it('should create a new encrypted group', async () => {
await request.post(api('groups.create'))
.set(credentials)
.send({
name: `encrypted-${ apiPrivateChannelName }`,
extraData: {
encrypted: true,
},
})
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
expect(res.body).to.have.nested.property('group.name', `encrypted-${ apiPrivateChannelName }`);
expect(res.body).to.have.nested.property('group.t', 'p');
expect(res.body).to.have.nested.property('group.msgs', 0);
expect(res.body).to.have.nested.property('group.encrypted', true);
});
});

it('should create the encrypted room by default', async () => {
await updateSetting('E2E_Enabled_Default_PrivateRooms', true);
try {
await request.post(api('groups.create'))
.set(credentials)
.send({
name: `default-encrypted-${ apiPrivateChannelName }`,
})
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
expect(res.body).to.have.nested.property('group.name', `default-encrypted-${ apiPrivateChannelName }`);
expect(res.body).to.have.nested.property('group.t', 'p');
expect(res.body).to.have.nested.property('group.msgs', 0);
expect(res.body).to.have.nested.property('group.encrypted', true);
});
} finally {
await updateSetting('E2E_Enabled_Default_PrivateRooms', false);
}
});
});
describe('[/groups.info]', () => {
let testGroup = {};
let groupMessage = {};
Expand Down Expand Up @@ -177,7 +219,6 @@ describe('[Groups]', function() {

it('/groups.invite', async () => {
const roomInfo = await getRoomInfo(group._id);

return request.post(api('groups.invite'))
.set(credentials)
.send({
Expand Down

0 comments on commit 7660464

Please sign in to comment.