diff options
Diffstat (limited to 'server/tests/api/videos/video-schedule-update.ts')
-rw-r--r-- | server/tests/api/videos/video-schedule-update.ts | 77 |
1 files changed, 35 insertions, 42 deletions
diff --git a/server/tests/api/videos/video-schedule-update.ts b/server/tests/api/videos/video-schedule-update.ts index 204f43611..3f7738784 100644 --- a/server/tests/api/videos/video-schedule-update.ts +++ b/server/tests/api/videos/video-schedule-update.ts | |||
@@ -1,22 +1,17 @@ | |||
1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ | 1 | /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ |
2 | 2 | ||
3 | import * as chai from 'chai' | ||
4 | import 'mocha' | 3 | import 'mocha' |
5 | import { VideoPrivacy } from '../../../../shared/models/videos' | 4 | import * as chai from 'chai' |
6 | import { | 5 | import { |
7 | cleanupTests, | 6 | cleanupTests, |
7 | createMultipleServers, | ||
8 | doubleFollow, | 8 | doubleFollow, |
9 | flushAndRunMultipleServers, | 9 | PeerTubeServer, |
10 | getMyVideos, | ||
11 | getVideosList, | ||
12 | getVideoWithToken, | ||
13 | ServerInfo, | ||
14 | setAccessTokensToServers, | 10 | setAccessTokensToServers, |
15 | updateVideo, | 11 | wait, |
16 | uploadVideo, | 12 | waitJobs |
17 | wait | 13 | } from '@shared/extra-utils' |
18 | } from '../../../../shared/extra-utils' | 14 | import { VideoPrivacy } from '@shared/models' |
19 | import { waitJobs } from '../../../../shared/extra-utils/server/jobs' | ||
20 | 15 | ||
21 | const expect = chai.expect | 16 | const expect = chai.expect |
22 | 17 | ||
@@ -28,14 +23,14 @@ function in10Seconds () { | |||
28 | } | 23 | } |
29 | 24 | ||
30 | describe('Test video update scheduler', function () { | 25 | describe('Test video update scheduler', function () { |
31 | let servers: ServerInfo[] = [] | 26 | let servers: PeerTubeServer[] = [] |
32 | let video2UUID: string | 27 | let video2UUID: string |
33 | 28 | ||
34 | before(async function () { | 29 | before(async function () { |
35 | this.timeout(30000) | 30 | this.timeout(30000) |
36 | 31 | ||
37 | // Run servers | 32 | // Run servers |
38 | servers = await flushAndRunMultipleServers(2) | 33 | servers = await createMultipleServers(2) |
39 | 34 | ||
40 | await setAccessTokensToServers(servers) | 35 | await setAccessTokensToServers(servers) |
41 | 36 | ||
@@ -45,35 +40,34 @@ describe('Test video update scheduler', function () { | |||
45 | it('Should upload a video and schedule an update in 10 seconds', async function () { | 40 | it('Should upload a video and schedule an update in 10 seconds', async function () { |
46 | this.timeout(10000) | 41 | this.timeout(10000) |
47 | 42 | ||
48 | const videoAttributes = { | 43 | const attributes = { |
49 | name: 'video 1', | 44 | name: 'video 1', |
50 | privacy: VideoPrivacy.PRIVATE, | 45 | privacy: VideoPrivacy.PRIVATE, |
51 | scheduleUpdate: { | 46 | scheduleUpdate: { |
52 | updateAt: in10Seconds().toISOString(), | 47 | updateAt: in10Seconds().toISOString(), |
53 | privacy: VideoPrivacy.PUBLIC | 48 | privacy: VideoPrivacy.PUBLIC as VideoPrivacy.PUBLIC |
54 | } | 49 | } |
55 | } | 50 | } |
56 | 51 | ||
57 | await uploadVideo(servers[0].url, servers[0].accessToken, videoAttributes) | 52 | await servers[0].videos.upload({ attributes }) |
58 | 53 | ||
59 | await waitJobs(servers) | 54 | await waitJobs(servers) |
60 | }) | 55 | }) |
61 | 56 | ||
62 | it('Should not list the video (in privacy mode)', async function () { | 57 | it('Should not list the video (in privacy mode)', async function () { |
63 | for (const server of servers) { | 58 | for (const server of servers) { |
64 | const res = await getVideosList(server.url) | 59 | const { total } = await server.videos.list() |
65 | 60 | ||
66 | expect(res.body.total).to.equal(0) | 61 | expect(total).to.equal(0) |
67 | } | 62 | } |
68 | }) | 63 | }) |
69 | 64 | ||
70 | it('Should have my scheduled video in my account videos', async function () { | 65 | it('Should have my scheduled video in my account videos', async function () { |
71 | const res = await getMyVideos(servers[0].url, servers[0].accessToken, 0, 5) | 66 | const { total, data } = await servers[0].videos.listMyVideos() |
72 | expect(res.body.total).to.equal(1) | 67 | expect(total).to.equal(1) |
73 | 68 | ||
74 | const videoFromList = res.body.data[0] | 69 | const videoFromList = data[0] |
75 | const res2 = await getVideoWithToken(servers[0].url, servers[0].accessToken, videoFromList.uuid) | 70 | const videoFromGet = await servers[0].videos.getWithToken({ id: videoFromList.uuid }) |
76 | const videoFromGet = res2.body | ||
77 | 71 | ||
78 | for (const video of [ videoFromList, videoFromGet ]) { | 72 | for (const video of [ videoFromList, videoFromGet ]) { |
79 | expect(video.name).to.equal('video 1') | 73 | expect(video.name).to.equal('video 1') |
@@ -90,23 +84,23 @@ describe('Test video update scheduler', function () { | |||
90 | await waitJobs(servers) | 84 | await waitJobs(servers) |
91 | 85 | ||
92 | for (const server of servers) { | 86 | for (const server of servers) { |
93 | const res = await getVideosList(server.url) | 87 | const { total, data } = await server.videos.list() |
94 | 88 | ||
95 | expect(res.body.total).to.equal(1) | 89 | expect(total).to.equal(1) |
96 | expect(res.body.data[0].name).to.equal('video 1') | 90 | expect(data[0].name).to.equal('video 1') |
97 | } | 91 | } |
98 | }) | 92 | }) |
99 | 93 | ||
100 | it('Should upload a video without scheduling an update', async function () { | 94 | it('Should upload a video without scheduling an update', async function () { |
101 | this.timeout(10000) | 95 | this.timeout(10000) |
102 | 96 | ||
103 | const videoAttributes = { | 97 | const attributes = { |
104 | name: 'video 2', | 98 | name: 'video 2', |
105 | privacy: VideoPrivacy.PRIVATE | 99 | privacy: VideoPrivacy.PRIVATE |
106 | } | 100 | } |
107 | 101 | ||
108 | const res = await uploadVideo(servers[0].url, servers[0].accessToken, videoAttributes) | 102 | const { uuid } = await servers[0].videos.upload({ attributes }) |
109 | video2UUID = res.body.video.uuid | 103 | video2UUID = uuid |
110 | 104 | ||
111 | await waitJobs(servers) | 105 | await waitJobs(servers) |
112 | }) | 106 | }) |
@@ -114,31 +108,31 @@ describe('Test video update scheduler', function () { | |||
114 | it('Should update a video by scheduling an update', async function () { | 108 | it('Should update a video by scheduling an update', async function () { |
115 | this.timeout(10000) | 109 | this.timeout(10000) |
116 | 110 | ||
117 | const videoAttributes = { | 111 | const attributes = { |
118 | name: 'video 2 updated', | 112 | name: 'video 2 updated', |
119 | scheduleUpdate: { | 113 | scheduleUpdate: { |
120 | updateAt: in10Seconds().toISOString(), | 114 | updateAt: in10Seconds().toISOString(), |
121 | privacy: VideoPrivacy.PUBLIC | 115 | privacy: VideoPrivacy.PUBLIC as VideoPrivacy.PUBLIC |
122 | } | 116 | } |
123 | } | 117 | } |
124 | 118 | ||
125 | await updateVideo(servers[0].url, servers[0].accessToken, video2UUID, videoAttributes) | 119 | await servers[0].videos.update({ id: video2UUID, attributes }) |
126 | await waitJobs(servers) | 120 | await waitJobs(servers) |
127 | }) | 121 | }) |
128 | 122 | ||
129 | it('Should not display the updated video', async function () { | 123 | it('Should not display the updated video', async function () { |
130 | for (const server of servers) { | 124 | for (const server of servers) { |
131 | const res = await getVideosList(server.url) | 125 | const { total } = await server.videos.list() |
132 | 126 | ||
133 | expect(res.body.total).to.equal(1) | 127 | expect(total).to.equal(1) |
134 | } | 128 | } |
135 | }) | 129 | }) |
136 | 130 | ||
137 | it('Should have my scheduled updated video in my account videos', async function () { | 131 | it('Should have my scheduled updated video in my account videos', async function () { |
138 | const res = await getMyVideos(servers[0].url, servers[0].accessToken, 0, 5) | 132 | const { total, data } = await servers[0].videos.listMyVideos() |
139 | expect(res.body.total).to.equal(2) | 133 | expect(total).to.equal(2) |
140 | 134 | ||
141 | const video = res.body.data.find(v => v.uuid === video2UUID) | 135 | const video = data.find(v => v.uuid === video2UUID) |
142 | expect(video).not.to.be.undefined | 136 | expect(video).not.to.be.undefined |
143 | 137 | ||
144 | expect(video.name).to.equal('video 2 updated') | 138 | expect(video.name).to.equal('video 2 updated') |
@@ -155,11 +149,10 @@ describe('Test video update scheduler', function () { | |||
155 | await waitJobs(servers) | 149 | await waitJobs(servers) |
156 | 150 | ||
157 | for (const server of servers) { | 151 | for (const server of servers) { |
158 | const res = await getVideosList(server.url) | 152 | const { total, data } = await server.videos.list() |
159 | 153 | expect(total).to.equal(2) | |
160 | expect(res.body.total).to.equal(2) | ||
161 | 154 | ||
162 | const video = res.body.data.find(v => v.uuid === video2UUID) | 155 | const video = data.find(v => v.uuid === video2UUID) |
163 | expect(video).not.to.be.undefined | 156 | expect(video).not.to.be.undefined |
164 | expect(video.name).to.equal('video 2 updated') | 157 | expect(video.name).to.equal('video 2 updated') |
165 | } | 158 | } |