import 'mocha'
import * as chai from 'chai'
import { omit } from 'lodash'
-import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination, FIXTURE_URLS } from '@server/tests/shared'
-import { areHttpImportTestsDisabled, buildAbsoluteFixturePath } from '@shared/core-utils'
+import { checkBadCountPagination, checkBadSortPagination, checkBadStartPagination } from '@server/tests/shared'
+import { buildAbsoluteFixturePath } from '@shared/core-utils'
import { HttpStatusCode, VideoChannelUpdate } from '@shared/models'
import {
ChannelsCommand,
})
})
- describe('When triggering full synchronization', function () {
-
- it('Should fail when HTTP upload is disabled', async function () {
- await server.config.disableImports()
-
- await command.importVideos({
- channelName: 'super_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel,
- token: server.accessToken,
- expectedStatus: HttpStatusCode.FORBIDDEN_403
- })
-
- await server.config.enableImports()
- })
-
- it('Should fail when externalChannelUrl is not provided', async function () {
- await command.importVideos({
- channelName: 'super_channel',
- externalChannelUrl: null,
- token: server.accessToken,
- expectedStatus: HttpStatusCode.BAD_REQUEST_400
- })
- })
-
- it('Should fail when externalChannelUrl is malformed', async function () {
- await command.importVideos({
- channelName: 'super_channel',
- externalChannelUrl: 'not-a-url',
- token: server.accessToken,
- expectedStatus: HttpStatusCode.BAD_REQUEST_400
- })
- })
-
- it('Should fail with no authentication', async function () {
- await command.importVideos({
- channelName: 'super_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel,
- token: null,
- expectedStatus: HttpStatusCode.UNAUTHORIZED_401
- })
- })
-
- it('Should fail when sync is not owned by the user', async function () {
- await command.importVideos({
- channelName: 'super_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel,
- token: userInfo.accessToken,
- expectedStatus: HttpStatusCode.FORBIDDEN_403
- })
- })
-
- it('Should fail when the user has no quota', async function () {
- await server.users.update({
- userId: userInfo.id,
- videoQuota: 0
- })
-
- await command.importVideos({
- channelName: 'fake_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel,
- token: userInfo.accessToken,
- expectedStatus: HttpStatusCode.PAYLOAD_TOO_LARGE_413
- })
-
- await server.users.update({
- userId: userInfo.id,
- videoQuota: userInfo.videoQuota
- })
- })
-
- it('Should fail when the user has no daily quota', async function () {
- await server.users.update({
- userId: userInfo.id,
- videoQuotaDaily: 0
- })
-
- await command.importVideos({
- channelName: 'fake_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel,
- token: userInfo.accessToken,
- expectedStatus: HttpStatusCode.PAYLOAD_TOO_LARGE_413
- })
-
- await server.users.update({
- userId: userInfo.id,
- videoQuotaDaily: userInfo.videoQuotaDaily
- })
- })
-
- it('Should succeed when sync is run by its owner', async function () {
- if (!areHttpImportTestsDisabled()) return
-
- await command.importVideos({
- channelName: 'fake_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel,
- token: userInfo.accessToken
- })
- })
-
- it('Should succeed when sync is run with root and for another user\'s channel', async function () {
- if (!areHttpImportTestsDisabled()) return
-
- await command.importVideos({
- channelName: 'fake_channel',
- externalChannelUrl: FIXTURE_URLS.youtubeChannel
- })
- })
- })
-
describe('When deleting a video channel', function () {
it('Should fail with a non authenticated user', async function () {
await command.delete({ token: 'coucou', channelName: 'super_channel', expectedStatus: HttpStatusCode.UNAUTHORIZED_401 })