]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - server/tests/real-world/tools/upload.js
Add tests for npm run scripts
[github/Chocobozzz/PeerTube.git] / server / tests / real-world / tools / upload.js
CommitLineData
677618d4
C
1'use strict'
2
3const program = require('commander')
4const fs = require('fs')
5
3fad43ac 6const utils = require('../../utils/videos')
677618d4
C
7
8program
9 .option('-u, --url <url>', 'Server url')
10 .option('-a, --access-token <token>', 'Access token')
11 .option('-n, --name <name>', 'Video name')
31b59b47 12 .option('-x, --nsfw', 'Video is Not Safe For Work')
6f0c39e2
C
13 .option('-c, --category <category number>', 'Category number')
14 .option('-l, --licence <licence number>', 'Licence number')
3092476e 15 .option('-g, --language <language number>', 'Language number')
677618d4
C
16 .option('-d, --description <description>', 'Video description')
17 .option('-t, --tags <tags>', 'Video tags', list)
18 .option('-f, --file <file>', 'Video absolute file path')
19 .parse(process.argv)
20
21if (
22 !program.url ||
23 !program.accessToken ||
24 !program.name ||
6e07c3de 25 !program.category ||
6f0c39e2 26 !program.licence ||
3092476e 27 !program.language ||
31b59b47 28 !program.nsfw ||
677618d4
C
29 !program.description ||
30 !program.tags ||
31 !Array.isArray(program.tags) ||
32 program.tags.length === 0 ||
33 !program.file
34) {
35 throw new Error('All arguments are required.')
36}
37
38fs.access(program.file, fs.F_OK, function (err) {
39 if (err) throw err
40
41 upload(
42 program.url,
43 program.accessToken,
44 program.name,
6e07c3de 45 program.category,
6f0c39e2 46 program.licence,
3092476e 47 program.language,
31b59b47 48 program.nsfw,
677618d4
C
49 program.description,
50 program.tags,
51 program.file
52 )
53})
54
55// ----------------------------------------------------------------------------
56
57function list (val) {
58 return val.split(',')
59}
60
3092476e 61function upload (url, accessToken, name, category, licence, language, nsfw, description, tags, fixture) {
677618d4
C
62 console.log('Uploading %s video...', program.name)
63
b4c5ac97
C
64 const videoAttributes = {
65 name,
66 category,
6f0c39e2 67 licence,
3092476e 68 language,
31b59b47 69 nsfw,
b4c5ac97
C
70 description,
71 tags,
72 fixture
73 }
74 utils.uploadVideo(url, accessToken, videoAttributes, function (err) {
677618d4
C
75 if (err) throw err
76
77 console.log('Video uploaded.')
78 })
79}