import * as chai from 'chai'
import { omit } from 'lodash'
import { join } from 'path'
-import { HttpStatusCode, randomInt } from '@shared/core-utils'
+import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination, checkUploadVideoParam } from '@server/tests/shared'
+import { randomInt, root } from '@shared/core-utils'
+import { HttpStatusCode, PeerTubeProblemDocument, VideoCreateResult, VideoPrivacy } from '@shared/models'
import {
- checkBadCountPagination,
- checkBadSortPagination,
- checkBadStartPagination,
- checkUploadVideoParam,
cleanupTests,
createSingleServer,
makeDeleteRequest,
makeGetRequest,
makePutBodyRequest,
makeUploadRequest,
- root,
PeerTubeServer,
setAccessTokensToServers
-} from '@shared/extra-utils'
-import { PeerTubeProblemDocument, VideoCreateResult, VideoPrivacy } from '@shared/models'
+} from '@shared/server-commands'
const expect = chai.expect
let channelId: number
let channelName: string
let video: VideoCreateResult
+ let privateVideo: VideoCreateResult
// ---------------------------------------------------------------
channelName = body.videoChannels[0].name
accountName = body.account.name + '@' + body.account.host
}
+
+ {
+ privateVideo = await server.videos.quickUpload({ name: 'private video', privacy: VideoPrivacy.PRIVATE })
+ }
})
describe('When listing videos', function () {
})
it('Should fail with a bad skipVideos query', async function () {
- await makeGetRequest({ url: server.url, path, statusCodeExpected: HttpStatusCode.OK_200, query: { skipCount: 'toto' } })
+ await makeGetRequest({ url: server.url, path, expectedStatus: HttpStatusCode.OK_200, query: { skipCount: 'toto' } })
})
it('Should success with the correct parameters', async function () {
- await makeGetRequest({ url: server.url, path, statusCodeExpected: HttpStatusCode.OK_200, query: { skipCount: false } })
+ await makeGetRequest({ url: server.url, path, expectedStatus: HttpStatusCode.OK_200, query: { skipCount: false } })
})
})
await makeGetRequest({
url: server.url,
path: join(path, 'search'),
- statusCodeExpected: HttpStatusCode.BAD_REQUEST_400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
})
it('Should success with the correct parameters', async function () {
- await makeGetRequest({ url: server.url, path, statusCodeExpected: HttpStatusCode.OK_200 })
+ await makeGetRequest({ url: server.url, path, expectedStatus: HttpStatusCode.OK_200 })
})
})
await checkBadSortPagination(server.url, path, server.accessToken)
})
+ it('Should fail with an invalid channel', async function () {
+ await makeGetRequest({ url: server.url, token: server.accessToken, path, query: { channelId: 'toto' } })
+ })
+
+ it('Should fail with an unknown channel', async function () {
+ await makeGetRequest({
+ url: server.url,
+ token: server.accessToken,
+ path,
+ query: { channelId: 89898 },
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
+ })
+ })
+
it('Should success with the correct parameters', async function () {
- await makeGetRequest({ url: server.url, token: server.accessToken, path, statusCodeExpected: HttpStatusCode.OK_200 })
+ await makeGetRequest({ url: server.url, token: server.accessToken, path, expectedStatus: HttpStatusCode.OK_200 })
})
})
})
it('Should success with the correct parameters', async function () {
- await makeGetRequest({ url: server.url, path, statusCodeExpected: HttpStatusCode.OK_200 })
+ await makeGetRequest({ url: server.url, path, expectedStatus: HttpStatusCode.OK_200 })
})
})
})
it('Should success with the correct parameters', async function () {
- await makeGetRequest({ url: server.url, path, statusCodeExpected: HttpStatusCode.OK_200 })
+ await makeGetRequest({ url: server.url, path, expectedStatus: HttpStatusCode.OK_200 })
})
})
path: path + '4da6fde3-88f7-4d16-b119-108df5630b06',
token: server.accessToken,
fields,
- statusCodeExpected: HttpStatusCode.NOT_FOUND_404
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
})
})
path: path + video.shortUUID,
token: userAccessToken,
fields,
- statusCodeExpected: HttpStatusCode.FORBIDDEN_403
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
path: path + video.shortUUID,
token: server.accessToken,
fields,
- statusCodeExpected: HttpStatusCode.NO_CONTENT_204
+ expectedStatus: HttpStatusCode.NO_CONTENT_204
})
})
})
const res = await makeGetRequest({
url: server.url,
path,
- statusCodeExpected: HttpStatusCode.OK_200
+ expectedStatus: HttpStatusCode.OK_200
})
expect(res.body.data).to.be.an('array')
path: path + '4da6fde3-88f7-4d16-b119-108df5630b06/rate',
token: server.accessToken,
fields,
- statusCodeExpected: HttpStatusCode.NOT_FOUND_404
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
})
})
await makePutBodyRequest({ url: server.url, path: path + videoId + '/rate', token: server.accessToken, fields })
})
+ it('Should fail with a private video of another user', async function () {
+ const fields = {
+ rating: 'like'
+ }
+ await makePutBodyRequest({
+ url: server.url,
+ path: path + privateVideo.uuid + '/rate',
+ token: userAccessToken,
+ fields,
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
+ })
+ })
+
it('Should succeed with the correct parameters', async function () {
const fields = {
rating: 'like'
path: path + videoId + '/rate',
token: server.accessToken,
fields,
- statusCodeExpected: HttpStatusCode.NO_CONTENT_204
+ expectedStatus: HttpStatusCode.NO_CONTENT_204
})
})
})
await makeDeleteRequest({
url: server.url,
path,
- statusCodeExpected: HttpStatusCode.BAD_REQUEST_400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
it('Shoud report the appropriate error', async function () {
const body = await server.videos.remove({ id: 'hello', expectedStatus: HttpStatusCode.BAD_REQUEST_400 })
- const error = body as unknown as PeerTubeProblemDocument
+ const error = body as PeerTubeProblemDocument
expect(error.docs).to.equal('https://docs.joinpeertube.org/api-rest-reference.html#operation/delVideo')