Upload a video to /videos/upload
This is an action, not a REST endpoint
This commit is contained in:
parent
0cee28c1b2
commit
e95561cdf1
|
@ -95,7 +95,7 @@ export class VideoAddComponent extends FormReactive implements OnInit {
|
||||||
this.uploader = new FileUploader({
|
this.uploader = new FileUploader({
|
||||||
authToken: this.authService.getRequestHeaderValue(),
|
authToken: this.authService.getRequestHeaderValue(),
|
||||||
queueLimit: 1,
|
queueLimit: 1,
|
||||||
url: API_URL + '/api/v1/videos',
|
url: API_URL + '/api/v1/videos/upload',
|
||||||
removeAfterUpload: true
|
removeAfterUpload: true
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -166,7 +166,7 @@ export class VideoAddComponent extends FormReactive implements OnInit {
|
||||||
}
|
}
|
||||||
|
|
||||||
item.onError = (response: string, status: number) => {
|
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) {
|
if (status === 400) {
|
||||||
this.error = response
|
this.error = response
|
||||||
} else if (status === 401) {
|
} else if (status === 401) {
|
||||||
|
@ -181,7 +181,7 @@ export class VideoAddComponent extends FormReactive implements OnInit {
|
||||||
} else if (status === 403) {
|
} else if (status === 403) {
|
||||||
this.error = 'Your video quota is reached, you can\'t upload this video.'
|
this.error = 'Your video quota is reached, you can\'t upload this video.'
|
||||||
} else {
|
} else {
|
||||||
this.error = 'Unknow error'
|
this.error = 'Unknown error'
|
||||||
console.error(this.error)
|
console.error(this.error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -92,7 +92,7 @@ videosRouter.put('/:id',
|
||||||
videosUpdateValidator,
|
videosUpdateValidator,
|
||||||
updateVideoRetryWrapper
|
updateVideoRetryWrapper
|
||||||
)
|
)
|
||||||
videosRouter.post('/',
|
videosRouter.post('/upload',
|
||||||
authenticate,
|
authenticate,
|
||||||
reqFiles,
|
reqFiles,
|
||||||
videosAddValidator,
|
videosAddValidator,
|
||||||
|
|
|
@ -96,7 +96,7 @@ describe('Test videos API validator', function () {
|
||||||
it('Should fail with nothing', async function () {
|
it('Should fail with nothing', async function () {
|
||||||
const fields = {}
|
const fields = {}
|
||||||
const attaches = {}
|
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 () {
|
it('Should fail without name', async function () {
|
||||||
|
@ -111,7 +111,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a long name', async function () {
|
||||||
|
@ -127,7 +127,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail without a category', async function () {
|
||||||
|
@ -142,7 +142,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a bad category', async function () {
|
||||||
|
@ -158,7 +158,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail without a licence', async function () {
|
||||||
|
@ -173,7 +173,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a bad licence', async function () {
|
||||||
|
@ -189,7 +189,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a bad language', async function () {
|
||||||
|
@ -205,7 +205,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail without nsfw attribute', async function () {
|
||||||
|
@ -220,7 +220,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a bad nsfw attribue', async function () {
|
||||||
|
@ -236,7 +236,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail without description', async function () {
|
||||||
|
@ -251,7 +251,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a long description', async function () {
|
||||||
|
@ -269,7 +269,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with too many tags', async function () {
|
||||||
|
@ -285,7 +285,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a tag length too low', async function () {
|
||||||
|
@ -301,7 +301,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail with a tag length too big', async function () {
|
||||||
|
@ -317,7 +317,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short.webm')
|
'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 () {
|
it('Should fail without an input file', async function () {
|
||||||
|
@ -331,7 +331,7 @@ describe('Test videos API validator', function () {
|
||||||
tags: [ 'tag1', 'tag2' ]
|
tags: [ 'tag1', 'tag2' ]
|
||||||
}
|
}
|
||||||
const attaches = {}
|
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 () {
|
it('Should fail without an incorrect input file', async function () {
|
||||||
|
@ -347,7 +347,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_short_fake.webm')
|
'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 () {
|
it('Should fail with a too big duration', async function () {
|
||||||
|
@ -363,7 +363,7 @@ describe('Test videos API validator', function () {
|
||||||
const attaches = {
|
const attaches = {
|
||||||
'videofile': join(__dirname, '..', 'fixtures', 'video_too_long.webm')
|
'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 () {
|
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')
|
'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')
|
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')
|
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
|
||||||
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ describe('Test reset password scripts', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should change the user password from CLI', async function () {
|
it('Should change the user password from CLI', async function () {
|
||||||
this.timeout(20000)
|
this.timeout(30000)
|
||||||
|
|
||||||
const env = getEnvCli(server)
|
const env = getEnvCli(server)
|
||||||
await execCLI(`echo coucou | ${env} npm run reset-password -- -u user_1`)
|
await execCLI(`echo coucou | ${env} npm run reset-password -- -u user_1`)
|
||||||
|
|
|
@ -38,7 +38,7 @@ describe('Test update host scripts', function () {
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should update torrent hosts', async function () {
|
it('Should update torrent hosts', async function () {
|
||||||
this.timeout(20000)
|
this.timeout(30000)
|
||||||
|
|
||||||
killallServers([ server ])
|
killallServers([ server ])
|
||||||
server = await runServer(1)
|
server = await runServer(1)
|
||||||
|
|
|
@ -163,7 +163,7 @@ async function testVideoImage (url: string, imageName: string, imagePath: string
|
||||||
}
|
}
|
||||||
|
|
||||||
function uploadVideo (url: string, accessToken: string, videoAttributesArg: VideoAttributes, specialStatus = 204) {
|
function uploadVideo (url: string, accessToken: string, videoAttributesArg: VideoAttributes, specialStatus = 204) {
|
||||||
const path = '/api/v1/videos'
|
const path = '/api/v1/videos/upload'
|
||||||
|
|
||||||
// Default attributes
|
// Default attributes
|
||||||
let attributes = {
|
let attributes = {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user