From: Chocobozzz Date: Thu, 7 Sep 2017 19:46:44 +0000 (+0200) Subject: Upload a video to /videos/upload X-Git-Tag: v0.0.1-alpha~332 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e95561cdf195d2926e1856ed285c2b86960bc86f;p=oweals%2Fpeertube.git Upload a video to /videos/upload This is an action, not a REST endpoint --- diff --git a/client/src/app/videos/video-edit/video-add.component.ts b/client/src/app/videos/video-edit/video-add.component.ts index 768b6fbcd..42b11cd08 100644 --- a/client/src/app/videos/video-edit/video-add.component.ts +++ b/client/src/app/videos/video-edit/video-add.component.ts @@ -95,7 +95,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { this.uploader = new FileUploader({ authToken: this.authService.getRequestHeaderValue(), queueLimit: 1, - url: API_URL + '/api/v1/videos', + url: API_URL + '/api/v1/videos/upload', removeAfterUpload: true }) @@ -166,7 +166,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { } item.onError = (response: string, status: number) => { - // We need to handle manually these cases beceause we use the FileUpload component + // We need to handle manually these cases because we use the FileUpload component if (status === 400) { this.error = response } else if (status === 401) { @@ -181,7 +181,7 @@ export class VideoAddComponent extends FormReactive implements OnInit { } else if (status === 403) { this.error = 'Your video quota is reached, you can\'t upload this video.' } else { - this.error = 'Unknow error' + this.error = 'Unknown error' console.error(this.error) } } diff --git a/server/controllers/api/videos/index.ts b/server/controllers/api/videos/index.ts index 3ec9d97bb..3a19fe989 100644 --- a/server/controllers/api/videos/index.ts +++ b/server/controllers/api/videos/index.ts @@ -92,7 +92,7 @@ videosRouter.put('/:id', videosUpdateValidator, updateVideoRetryWrapper ) -videosRouter.post('/', +videosRouter.post('/upload', authenticate, reqFiles, videosAddValidator, diff --git a/server/tests/api/check-params/videos.ts b/server/tests/api/check-params/videos.ts index 8d30769d3..af75d33c1 100644 --- a/server/tests/api/check-params/videos.ts +++ b/server/tests/api/check-params/videos.ts @@ -96,7 +96,7 @@ describe('Test videos API validator', function () { it('Should fail with nothing', async function () { const fields = {} const attaches = {} - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without name', async function () { @@ -111,7 +111,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a long name', async function () { @@ -127,7 +127,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without a category', async function () { @@ -142,7 +142,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a bad category', async function () { @@ -158,7 +158,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without a licence', async function () { @@ -173,7 +173,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a bad licence', async function () { @@ -189,7 +189,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a bad language', async function () { @@ -205,7 +205,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without nsfw attribute', async function () { @@ -220,7 +220,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a bad nsfw attribue', async function () { @@ -236,7 +236,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without description', async function () { @@ -251,7 +251,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a long description', async function () { @@ -269,7 +269,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with too many tags', async function () { @@ -285,7 +285,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a tag length too low', async function () { @@ -301,7 +301,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a tag length too big', async function () { @@ -317,7 +317,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without an input file', async function () { @@ -331,7 +331,7 @@ describe('Test videos API validator', function () { tags: [ 'tag1', 'tag2' ] } const attaches = {} - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail without an incorrect input file', async function () { @@ -347,7 +347,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_short_fake.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should fail with a too big duration', async function () { @@ -363,7 +363,7 @@ describe('Test videos API validator', function () { const attaches = { 'videofile': join(__dirname, '..', 'fixtures', 'video_too_long.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches }) + await makePostUploadRequest({ url: server.url, path: path + '/upload', token: server.accessToken, fields, attaches }) }) it('Should succeed with the correct parameters', async function () { @@ -382,13 +382,34 @@ describe('Test videos API validator', function () { 'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm') } - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches, statusCodeExpected: 204 }) + await makePostUploadRequest({ + url: server.url, + path: path + '/upload', + token: server.accessToken, + fields, + attaches, + statusCodeExpected: 204 + }) attaches.videofile = join(__dirname, '..', 'fixtures', 'video_short.mp4') - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches, statusCodeExpected: 204 }) + await makePostUploadRequest({ + url: server.url, + path: path + '/upload', + token: server.accessToken, + fields, + attaches, + statusCodeExpected: 204 + }) attaches.videofile = join(__dirname, '..', 'fixtures', 'video_short.ogv') - await makePostUploadRequest({ url: server.url, path, token: server.accessToken, fields, attaches, statusCodeExpected: 204 }) + await makePostUploadRequest({ + url: server.url, + path: path + '/upload', + token: server.accessToken, + fields, + attaches, + statusCodeExpected: 204 + }) }) }) diff --git a/server/tests/cli/reset-password.ts b/server/tests/cli/reset-password.ts index bbf0b3d11..c75a1611c 100644 --- a/server/tests/cli/reset-password.ts +++ b/server/tests/cli/reset-password.ts @@ -26,7 +26,7 @@ describe('Test reset password scripts', function () { }) it('Should change the user password from CLI', async function () { - this.timeout(20000) + this.timeout(30000) const env = getEnvCli(server) await execCLI(`echo coucou | ${env} npm run reset-password -- -u user_1`) diff --git a/server/tests/cli/update-host.ts b/server/tests/cli/update-host.ts index af9703b32..644b3807e 100644 --- a/server/tests/cli/update-host.ts +++ b/server/tests/cli/update-host.ts @@ -38,7 +38,7 @@ describe('Test update host scripts', function () { }) it('Should update torrent hosts', async function () { - this.timeout(20000) + this.timeout(30000) killallServers([ server ]) server = await runServer(1) diff --git a/server/tests/utils/videos.ts b/server/tests/utils/videos.ts index 83271beca..0de506cd9 100644 --- a/server/tests/utils/videos.ts +++ b/server/tests/utils/videos.ts @@ -163,7 +163,7 @@ async function testVideoImage (url: string, imageName: string, imagePath: string } function uploadVideo (url: string, accessToken: string, videoAttributesArg: VideoAttributes, specialStatus = 204) { - const path = '/api/v1/videos' + const path = '/api/v1/videos/upload' // Default attributes let attributes = {