X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Ftests%2Fapi%2Fcheck-params%2Fvideos-filter.ts;h=d08570bbea49caab47d670cd7dfd11d5f007a030;hb=83903cb65d531a6b6b91715387493ba8312b264d;hp=ec8654db27878f37d6b0198168c8b335638d9b0d;hpb=2ad9dcda240ee843c5e4a5b98cc94f7b2aab2c89;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/tests/api/check-params/videos-filter.ts b/server/tests/api/check-params/videos-filter.ts index ec8654db2..d08570bbe 100644 --- a/server/tests/api/check-params/videos-filter.ts +++ b/server/tests/api/check-params/videos-filter.ts @@ -3,17 +3,15 @@ import 'mocha' import { cleanupTests, - createUser, - flushAndRunServer, + createSingleServer, makeGetRequest, - ServerInfo, + PeerTubeServer, setAccessTokensToServers, - setDefaultVideoChannel, - userLogin -} from '../../../../shared/extra-utils' -import { UserRole } from '../../../../shared/models/users' + setDefaultVideoChannel +} from '@shared/extra-utils' +import { HttpStatusCode, UserRole } from '@shared/models' -async function testEndpoints (server: ServerInfo, token: string, filter: string, statusCodeExpected: number) { +async function testEndpoints (server: PeerTubeServer, token: string, filter: string, expectedStatus: HttpStatusCode) { const paths = [ '/api/v1/video-channels/root_channel/videos', '/api/v1/accounts/root/videos', @@ -29,13 +27,13 @@ async function testEndpoints (server: ServerInfo, token: string, filter: string, query: { filter }, - statusCodeExpected + expectedStatus }) } } -describe('Test videos filters', function () { - let server: ServerInfo +describe('Test video filters validators', function () { + let server: PeerTubeServer let userAccessToken: string let moderatorAccessToken: string @@ -44,69 +42,65 @@ describe('Test videos filters', function () { before(async function () { this.timeout(30000) - server = await flushAndRunServer(1) + server = await createSingleServer(1) await setAccessTokensToServers([ server ]) await setDefaultVideoChannel([ server ]) const user = { username: 'user1', password: 'my super password' } - await createUser({ url: server.url, accessToken: server.accessToken, username: user.username, password: user.password }) - userAccessToken = await userLogin(server, user) + await server.users.create({ username: user.username, password: user.password }) + userAccessToken = await server.login.getAccessToken(user) const moderator = { username: 'moderator', password: 'my super password' } - await createUser( - { - url: server.url, - accessToken: server.accessToken, - username: moderator.username, - password: moderator.password, - videoQuota: undefined, - videoQuotaDaily: undefined, - role: UserRole.MODERATOR - } - ) - moderatorAccessToken = await userLogin(server, moderator) + await server.users.create({ username: moderator.username, password: moderator.password, role: UserRole.MODERATOR }) + + moderatorAccessToken = await server.login.getAccessToken(moderator) }) describe('When setting a video filter', function () { it('Should fail with a bad filter', async function () { - await testEndpoints(server, server.accessToken, 'bad-filter', 400) + await testEndpoints(server, server.accessToken, 'bad-filter', HttpStatusCode.BAD_REQUEST_400) }) it('Should succeed with a good filter', async function () { - await testEndpoints(server, server.accessToken, 'local', 200) + await testEndpoints(server, server.accessToken, 'local', HttpStatusCode.OK_200) }) - it('Should fail to list all-local with a simple user', async function () { - await testEndpoints(server, userAccessToken, 'all-local', 401) + it('Should fail to list all-local/all with a simple user', async function () { + await testEndpoints(server, userAccessToken, 'all-local', HttpStatusCode.UNAUTHORIZED_401) + await testEndpoints(server, userAccessToken, 'all', HttpStatusCode.UNAUTHORIZED_401) }) - it('Should succeed to list all-local with a moderator', async function () { - await testEndpoints(server, moderatorAccessToken, 'all-local', 200) + it('Should succeed to list all-local/all with a moderator', async function () { + await testEndpoints(server, moderatorAccessToken, 'all-local', HttpStatusCode.OK_200) + await testEndpoints(server, moderatorAccessToken, 'all', HttpStatusCode.OK_200) }) - it('Should succeed to list all-local with an admin', async function () { - await testEndpoints(server, server.accessToken, 'all-local', 200) + it('Should succeed to list all-local/all with an admin', async function () { + await testEndpoints(server, server.accessToken, 'all-local', HttpStatusCode.OK_200) + await testEndpoints(server, server.accessToken, 'all', HttpStatusCode.OK_200) }) // Because we cannot authenticate the user on the RSS endpoint - it('Should fail on the feeds endpoint with the all-local filter', async function () { - await makeGetRequest({ - url: server.url, - path: '/feeds/videos.json', - statusCodeExpected: 401, - query: { - filter: 'all-local' - } - }) + it('Should fail on the feeds endpoint with the all-local/all filter', async function () { + for (const filter of [ 'all', 'all-local' ]) { + await makeGetRequest({ + url: server.url, + path: '/feeds/videos.json', + expectedStatus: HttpStatusCode.UNAUTHORIZED_401, + query: { + filter + } + }) + } }) it('Should succeed on the feeds endpoint with the local filter', async function () { await makeGetRequest({ url: server.url, path: '/feeds/videos.json', - statusCodeExpected: 200, + expectedStatus: HttpStatusCode.OK_200, query: { filter: 'local' }