mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 19:42:24 +02:00
Implement user blocking on server side
This commit is contained in:
parent
6b09aba90d
commit
e69219184b
15 changed files with 287 additions and 59 deletions
|
@ -8,7 +8,7 @@ import { UserRole, VideoImport, VideoImportState } from '../../../../shared'
|
|||
import {
|
||||
createUser, flushTests, getMyUserInformation, getMyUserVideoRating, getUsersList, immutableAssign, killallServers, makeGetRequest,
|
||||
makePostBodyRequest, makeUploadRequest, makePutBodyRequest, registerUser, removeUser, runServer, ServerInfo, setAccessTokensToServers,
|
||||
updateUser, uploadVideo, userLogin, deleteMe
|
||||
updateUser, uploadVideo, userLogin, deleteMe, unblockUser, blockUser
|
||||
} from '../../utils'
|
||||
import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '../../utils/requests/check-api-params'
|
||||
import { getMagnetURI, getMyVideoImports, getYoutubeVideoUrl, importVideo } from '../../utils/videos/video-imports'
|
||||
|
@ -455,17 +455,29 @@ describe('Test users API validators', function () {
|
|||
})
|
||||
})
|
||||
|
||||
describe('When removing an user', function () {
|
||||
describe('When blocking/unblocking/removing user', function () {
|
||||
it('Should fail with an incorrect id', async function () {
|
||||
await removeUser(server.url, 'blabla', server.accessToken, 400)
|
||||
await blockUser(server.url, 'blabla', server.accessToken, 400)
|
||||
await unblockUser(server.url, 'blabla', server.accessToken, 400)
|
||||
})
|
||||
|
||||
it('Should fail with the root user', async function () {
|
||||
await removeUser(server.url, rootId, server.accessToken, 400)
|
||||
await blockUser(server.url, rootId, server.accessToken, 400)
|
||||
await unblockUser(server.url, rootId, server.accessToken, 400)
|
||||
})
|
||||
|
||||
it('Should return 404 with a non existing id', async function () {
|
||||
await removeUser(server.url, 4545454, server.accessToken, 404)
|
||||
await blockUser(server.url, 4545454, server.accessToken, 404)
|
||||
await unblockUser(server.url, 4545454, server.accessToken, 404)
|
||||
})
|
||||
|
||||
it('Should fail with a non admin user', async function () {
|
||||
await removeUser(server.url, userId, userAccessToken, 403)
|
||||
await blockUser(server.url, userId, userAccessToken, 403)
|
||||
await unblockUser(server.url, userId, userAccessToken, 403)
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
createUser, flushTests, getBlacklistedVideosList, getMyUserInformation, getMyUserVideoQuotaUsed, getMyUserVideoRating,
|
||||
getUserInformation, getUsersList, getUsersListPaginationAndSort, getVideosList, killallServers, login, makePutBodyRequest, rateVideo,
|
||||
registerUser, removeUser, removeVideo, runServer, ServerInfo, testImage, updateMyAvatar, updateMyUser, updateUser, uploadVideo, userLogin,
|
||||
deleteMe
|
||||
deleteMe, blockUser, unblockUser
|
||||
} from '../../utils/index'
|
||||
import { follow } from '../../utils/server/follows'
|
||||
import { setAccessTokensToServers } from '../../utils/users/login'
|
||||
|
@ -45,28 +45,28 @@ describe('Test users', function () {
|
|||
const client = { id: 'client', secret: server.client.secret }
|
||||
const res = await login(server.url, client, server.user, 400)
|
||||
|
||||
expect(res.body.error).to.equal('Authentication failed.')
|
||||
expect(res.body.error).to.contain('client is invalid')
|
||||
})
|
||||
|
||||
it('Should not login with an invalid client secret', async function () {
|
||||
const client = { id: server.client.id, secret: 'coucou' }
|
||||
const res = await login(server.url, client, server.user, 400)
|
||||
|
||||
expect(res.body.error).to.equal('Authentication failed.')
|
||||
expect(res.body.error).to.contain('client is invalid')
|
||||
})
|
||||
|
||||
it('Should not login with an invalid username', async function () {
|
||||
const user = { username: 'captain crochet', password: server.user.password }
|
||||
const res = await login(server.url, server.client, user, 400)
|
||||
|
||||
expect(res.body.error).to.equal('Authentication failed.')
|
||||
expect(res.body.error).to.contain('credentials are invalid')
|
||||
})
|
||||
|
||||
it('Should not login with an invalid password', async function () {
|
||||
const user = { username: server.user.username, password: 'mew_three' }
|
||||
const res = await login(server.url, server.client, user, 400)
|
||||
|
||||
expect(res.body.error).to.equal('Authentication failed.')
|
||||
expect(res.body.error).to.contain('credentials are invalid')
|
||||
})
|
||||
|
||||
it('Should not be able to upload a video', async function () {
|
||||
|
@ -493,6 +493,27 @@ describe('Test users', function () {
|
|||
}
|
||||
})
|
||||
|
||||
it('Should block and unblock a user', async function () {
|
||||
const user16 = {
|
||||
username: 'user_16',
|
||||
password: 'my super password'
|
||||
}
|
||||
const resUser = await createUser(server.url, server.accessToken, user16.username, user16.password)
|
||||
const user16Id = resUser.body.user.id
|
||||
|
||||
accessToken = await userLogin(server, user16)
|
||||
|
||||
await getMyUserInformation(server.url, accessToken, 200)
|
||||
await blockUser(server.url, user16Id, server.accessToken)
|
||||
|
||||
await getMyUserInformation(server.url, accessToken, 401)
|
||||
await userLogin(server, user16, 400)
|
||||
|
||||
await unblockUser(server.url, user16Id, server.accessToken)
|
||||
accessToken = await userLogin(server, user16)
|
||||
await getMyUserInformation(server.url, accessToken, 200)
|
||||
})
|
||||
|
||||
after(async function () {
|
||||
killallServers([ server ])
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue