test: Add loginToken support and related test for /me endpoint (#36124)

pull/35725/merge
Guilherme Gazzo 1 year ago committed by GitHub
parent db04086cbf
commit ce397fed10
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 25
      apps/meteor/tests/end-to-end/api/users.ts
  2. 17
      packages/core-typings/src/IUser.ts

@ -3146,6 +3146,31 @@ describe('[Users]', () => {
before(() => updatePermission('create-personal-access-tokens', ['admin']));
after(() => updatePermission('create-personal-access-tokens', ['admin']));
it('should accept loginToken when we call /me', async () => {
let loginToken = '';
await request
.post(api('users.generatePersonalAccessToken'))
.set(credentials)
.send({
tokenName: 'test',
loginToken: '1234567890',
})
.expect('Content-Type', 'application/json')
.expect(200)
.expect((res) => {
expect(res.body).to.have.property('success', true);
expect(res.body).to.have.property('token');
loginToken = res.body.token;
});
await request
.get(api('me')) // it does not really matter what we call here, we just want to test that the loginToken is accepted
.set({
'X-Auth-Token': loginToken,
'X-User-Id': credentials['X-User-Id'],
})
.expect(200);
});
describe('[/users.getPersonalAccessTokens]', () => {
it('should return an array when the user does not have personal tokens configured', (done) => {
void request

@ -104,6 +104,23 @@ export interface IUserServices extends IOAuthUserServices {
changedAt: Date;
};
emailCode?: IUserEmailCode;
/**
* iframe is used for iframe login
* the token is generated by an external service
* https://developer.rocket.chat/v1/docs/configuring-iframe-auth
*/
iframe?: {
token: string;
};
/**
* loginToken is used for route login 'https://your-rocket.chat/login-token/:token' "one time login" feature
* the token is generated by an external service
*/
loginToken?: {
token: string;
};
}
type IUserService = keyof IUserServices;

Loading…
Cancel
Save