-/* tslint:disable:no-unused-expression */
+/* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */
import 'mocha'
-
+import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
+import { HttpStatusCode } from '@shared/models'
import {
cleanupTests,
- createUser,
- flushAndRunServer,
- makeDeleteRequest, makeGetRequest,
+ createSingleServer,
+ makeDeleteRequest,
+ makeGetRequest,
makePostBodyRequest,
- ServerInfo,
- setAccessTokensToServers,
- userLogin
-} from '../../../../shared/extra-utils'
-import {
- checkBadCountPagination,
- checkBadSortPagination,
- checkBadStartPagination
-} from '../../../../shared/extra-utils/requests/check-api-params'
+ PeerTubeServer,
+ setAccessTokensToServers
+} from '@shared/server-commands'
describe('Test server follows API validators', function () {
- let server: ServerInfo
+ let server: PeerTubeServer
// ---------------------------------------------------------------
before(async function () {
this.timeout(30000)
- server = await flushAndRunServer(1)
+ server = await createSingleServer(1)
await setAccessTokensToServers([ server ])
})
let userAccessToken = null
before(async function () {
- const user = {
- username: 'user1',
- password: 'password'
- }
-
- await createUser({ url: server.url, accessToken: server.accessToken, username: user.username, password: user.password })
- userAccessToken = await userLogin(server, user)
+ userAccessToken = await server.users.generateUserAndToken('user1')
})
describe('When adding follows', function () {
const path = '/api/v1/server/following'
- it('Should fail without hosts', async function () {
+ it('Should fail with nothing', async function () {
await makePostBodyRequest({
url: server.url,
path,
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
- it('Should fail if hosts is not an array', async function () {
+ it('Should fail if hosts is not composed by hosts', async function () {
await makePostBodyRequest({
url: server.url,
path,
+ fields: { hosts: [ 'localhost:9002', 'localhost:coucou' ] },
token: server.accessToken,
- fields: { hosts: 'localhost:9002' },
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
- it('Should fail if the array is not composed by hosts', async function () {
+ it('Should fail if hosts is composed with http schemes', async function () {
await makePostBodyRequest({
url: server.url,
path,
- fields: { hosts: [ 'localhost:9002', 'localhost:coucou' ] },
+ fields: { hosts: [ 'localhost:9002', 'http://localhost:9003' ] },
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
- it('Should fail if the array is composed with http schemes', async function () {
+ it('Should fail if hosts are not unique', async function () {
await makePostBodyRequest({
url: server.url,
path,
- fields: { hosts: [ 'localhost:9002', 'http://localhost:9003' ] },
+ fields: { urls: [ 'localhost:9002', 'localhost:9002' ] },
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
- it('Should fail if hosts are not unique', async function () {
+ it('Should fail if handles is not composed by handles', async function () {
await makePostBodyRequest({
url: server.url,
path,
- fields: { urls: [ 'localhost:9002', 'localhost:9002' ] },
+ fields: { handles: [ 'hello@example.com', 'localhost:9001' ] },
+ token: server.accessToken,
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
+ })
+ })
+
+ it('Should fail if handles are not unique', async function () {
+ await makePostBodyRequest({
+ url: server.url,
+ path,
+ fields: { urls: [ 'hello@example.com', 'hello@example.com' ] },
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
path,
fields: { hosts: [ 'localhost:9002' ] },
token: 'fake_token',
- statusCodeExpected: 401
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
})
})
path,
fields: { hosts: [ 'localhost:9002' ] },
token: userAccessToken,
- statusCodeExpected: 403
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
})
})
})
+ it('Should fail with an incorrect actor type', async function () {
+ await makeGetRequest({
+ url: server.url,
+ path,
+ query: {
+ actorType: 'blabla'
+ }
+ })
+ })
+
it('Should fail succeed with the correct params', async function () {
await makeGetRequest({
url: server.url,
path,
- statusCodeExpected: 200,
+ expectedStatus: HttpStatusCode.OK_200,
query: {
- state: 'accepted'
+ state: 'accepted',
+ actorType: 'Application'
}
})
})
await checkBadSortPagination(server.url, path)
})
+ it('Should fail with an incorrect actor type', async function () {
+ await makeGetRequest({
+ url: server.url,
+ path,
+ query: {
+ actorType: 'blabla'
+ }
+ })
+ })
+
it('Should fail with an incorrect state', async function () {
await makeGetRequest({
url: server.url,
path,
query: {
- state: 'blabla'
+ state: 'blabla',
+ actorType: 'Application'
}
})
})
await makeGetRequest({
url: server.url,
path,
- statusCodeExpected: 200,
+ expectedStatus: HttpStatusCode.OK_200,
query: {
state: 'accepted'
}
url: server.url,
path: path + '/toto@localhost:9002',
token: 'fake_token',
- statusCodeExpected: 401
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
})
})
url: server.url,
path: path + '/toto@localhost:9002',
token: userAccessToken,
- statusCodeExpected: 403
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
url: server.url,
path: path + '/toto',
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
url: server.url,
path: path + '/toto@localhost:9003',
token: server.accessToken,
- statusCodeExpected: 404
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
})
})
})
url: server.url,
path: path + '/toto@localhost:9002/accept',
token: 'fake_token',
- statusCodeExpected: 401
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
})
})
url: server.url,
path: path + '/toto@localhost:9002/accept',
token: userAccessToken,
- statusCodeExpected: 403
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
url: server.url,
path: path + '/toto/accept',
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
url: server.url,
path: path + '/toto@localhost:9003/accept',
token: server.accessToken,
- statusCodeExpected: 404
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
})
})
})
url: server.url,
path: path + '/toto@localhost:9002/reject',
token: 'fake_token',
- statusCodeExpected: 401
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
})
})
url: server.url,
path: path + '/toto@localhost:9002/reject',
token: userAccessToken,
- statusCodeExpected: 403
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
url: server.url,
path: path + '/toto/reject',
token: server.accessToken,
- statusCodeExpected: 400
+ expectedStatus: HttpStatusCode.BAD_REQUEST_400
})
})
url: server.url,
path: path + '/toto@localhost:9003/reject',
token: server.accessToken,
- statusCodeExpected: 404
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
})
})
})
url: server.url,
path: path + '/localhost:9002',
token: 'fake_token',
- statusCodeExpected: 401
+ expectedStatus: HttpStatusCode.UNAUTHORIZED_401
})
})
url: server.url,
path: path + '/localhost:9002',
token: userAccessToken,
- statusCodeExpected: 403
+ expectedStatus: HttpStatusCode.FORBIDDEN_403
})
})
url: server.url,
path: path + '/example.com',
token: server.accessToken,
- statusCodeExpected: 404
+ expectedStatus: HttpStatusCode.NOT_FOUND_404
})
})
})