import { VideoModel } from '../server/models/video/video'
import { initDatabaseModels } from '../server/initializers/database'
import { JobQueue } from '../server/lib/job-queue'
-import { isUUIDValid } from '@server/helpers/custom-validators/misc'
+import { isUUIDValid, toCompleteUUID } from '@server/helpers/custom-validators/misc'
program
.option('-v, --video [videoUUID]', 'Video UUID')
async function run () {
await initDatabaseModels(true)
- if (isUUIDValid(options.video) === false) {
+ const uuid = toCompleteUUID(options.video)
+
+ if (isUUIDValid(uuid) === false) {
console.error('%s is not a valid video UUID.', options.video)
return
}
- const video = await VideoModel.load(options.video)
+ const video = await VideoModel.load(uuid)
if (!video) throw new Error('Video not found.')
if (video.isOwned() === false) throw new Error('Cannot import files of a non owned video.')
import { computeResolutionsToTranscode } from '@server/helpers/ffprobe-utils'
import { VideoState, VideoTranscodingPayload } from '@shared/models'
import { CONFIG } from '@server/initializers/config'
-import { isUUIDValid } from '@server/helpers/custom-validators/misc'
+import { isUUIDValid, toCompleteUUID } from '@server/helpers/custom-validators/misc'
import { addTranscodingJob } from '@server/lib/video'
program
async function run () {
await initDatabaseModels(true)
- if (isUUIDValid(options.video) === false) {
+ const uuid = toCompleteUUID(options.video)
+
+ if (isUUIDValid(uuid) === false) {
console.error('%s is not a valid video UUID.', options.video)
return
}
- const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(options.video)
+ const video = await VideoModel.loadAndPopulateAccountAndServerAndTags(uuid)
if (!video) throw new Error('Video not found.')
const dataInput: VideoTranscodingPayload[] = []
}
function runTests (objectStorage: boolean) {
- let video1UUID: string
+ let video1ShortId: string
let video2UUID: string
let servers: PeerTubeServer[] = []
// Upload two videos for our needs
{
- const { uuid } = await servers[0].videos.upload({ attributes: { name: 'video1' } })
- video1UUID = uuid
+ const { shortUUID } = await servers[0].videos.upload({ attributes: { name: 'video1' } })
+ video1ShortId = shortUUID
}
{
})
it('Should run a import job on video 1 with a lower resolution', async function () {
- const command = `npm run create-import-video-file-job -- -v ${video1UUID} -i server/tests/fixtures/video_short-480.webm`
+ const command = `npm run create-import-video-file-job -- -v ${video1ShortId} -i server/tests/fixtures/video_short-480.webm`
await servers[0].cli.execWithEnv(command)
await waitJobs(servers)
const { data: videos } = await server.videos.list()
expect(videos).to.have.lengthOf(2)
- const video = videos.find(({ uuid }) => uuid === video1UUID)
- const videoDetails = await server.videos.get({ id: video.uuid })
+ const video = videos.find(({ shortUUID }) => shortUUID === video1ShortId)
+ const videoDetails = await server.videos.get({ id: video.shortUUID })
expect(videoDetails.files).to.have.lengthOf(2)
const [ originalVideo, transcodedVideo ] = videoDetails.files
})
it('Should run a import job on video 2 with the same resolution and the same extension', async function () {
- const command = `npm run create-import-video-file-job -- -v ${video1UUID} -i server/tests/fixtures/video_short2.webm`
+ const command = `npm run create-import-video-file-job -- -v ${video1ShortId} -i server/tests/fixtures/video_short2.webm`
await servers[0].cli.execWithEnv(command)
await waitJobs(servers)
const { data: videos } = await server.videos.list()
expect(videos).to.have.lengthOf(2)
- const video = videos.find(({ uuid }) => uuid === video1UUID)
+ const video = videos.find(({ shortUUID }) => shortUUID === video1ShortId)
const videoDetails = await server.videos.get({ id: video.uuid })
expect(videoDetails.files).to.have.lengthOf(2)
if (objectStorage) await ObjectStorageCommand.prepareDefaultBuckets()
for (let i = 1; i <= 5; i++) {
- const { uuid } = await servers[0].videos.upload({ attributes: { name: 'video' + i } })
- videosUUID.push(uuid)
+ const { uuid, shortUUID } = await servers[0].videos.upload({ attributes: { name: 'video' + i } })
+
+ if (i > 2) {
+ videosUUID.push(uuid)
+ } else {
+ videosUUID.push(shortUUID)
+ }
}
await waitJobs(servers)
for (const video of data) {
const videoDetails = await server.videos.get({ id: video.uuid })
- if (video.uuid === videosUUID[1]) {
+ if (video.shortUUID === videosUUID[1] || video.uuid === videosUUID[1]) {
expect(videoDetails.files).to.have.lengthOf(4)
expect(videoDetails.streamingPlaylists).to.have.lengthOf(0)