Fix broken and deactivated user creation test

This commit is contained in:
Henrik Hüttemann 2023-06-22 16:34:03 +02:00
parent de87228b8d
commit 463daefeda
No known key found for this signature in database
GPG Key ID: 9F7BD10E0A8A111E
2 changed files with 10 additions and 17 deletions

View File

@ -33,15 +33,14 @@ const matrixUser: MatrixUser = {
} }
const nonce = 'test-nonce' const nonce = 'test-nonce'
const mac = 'be0537407ab3c82de908c5763185556e98a7211c'
test('mapping users', () => { test('mapping users', () => {
expect(mapUser(rcUser)).toStrictEqual(matrixUser) expect(mapUser(rcUser)).toStrictEqual(matrixUser)
}) })
test('generating correct hmac', () => { test('generating correct hmac', () => {
expect(generateHmac({ ...matrixUser, nonce })).toStrictEqual( expect(generateHmac({ ...matrixUser, nonce })).toStrictEqual(mac)
'be0537407ab3c82de908c5763185556e98a7211c'
)
}) })
test('creating users', async () => { test('creating users', async () => {
@ -61,14 +60,11 @@ test('creating users', async () => {
}) })
expect(mockedAxios.get).toHaveBeenCalledWith('/_synapse/admin/v1/register') expect(mockedAxios.get).toHaveBeenCalledWith('/_synapse/admin/v1/register')
expect(mockedAxios.post).toHaveBeenCalled() expect(mockedAxios.post).toHaveBeenCalledWith('/_synapse/admin/v1/register', {
// The following test fails with an incorrect return value, for whatever reason. ...matrixUser,
// Probably because of mutated call logs in jest due to the `delete` or sth. nonce,
// expect(mockedAxios.post).toHaveBeenCalledWith('/_synapse/admin/v1/register', { mac,
// ...matrixUser, })
// nonce,
// mac: 'be0537407ab3c82de908c5763185556e98a7211c',
// })
expect(mockedStorage.createMembership).toHaveBeenCalledWith( expect(mockedStorage.createMembership).toHaveBeenCalledWith(
rcUser.__rooms[0], rcUser.__rooms[0],

View File

@ -76,16 +76,13 @@ async function parseUserMemberships(rcUser: RcUser): Promise<void> {
export async function createUser(rcUser: RcUser): Promise<MatrixUser> { export async function createUser(rcUser: RcUser): Promise<MatrixUser> {
const user = mapUser(rcUser) const user = mapUser(rcUser)
user.nonce = await getUserRegistrationNonce() const nonce = await getUserRegistrationNonce()
user.mac = generateHmac(user) const mac = generateHmac({ ...user, nonce })
const accessToken = await registerUser(user) const accessToken = await registerUser({ ...user, nonce, mac })
user.user_id = accessToken.user_id user.user_id = accessToken.user_id
user.access_token = accessToken.access_token user.access_token = accessToken.access_token
log.info(`User ${rcUser.username} created:`, user) log.info(`User ${rcUser.username} created:`, user)
delete user.nonce
delete user.mac
await parseUserMemberships(rcUser) await parseUserMemberships(rcUser)
return user return user