diff options
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/fixtures/peertube-plugin-test/main.js | 10 | ||||
-rw-r--r-- | server/tests/plugins/action-hooks.ts | 125 |
2 files changed, 101 insertions, 34 deletions
diff --git a/server/tests/fixtures/peertube-plugin-test/main.js b/server/tests/fixtures/peertube-plugin-test/main.js index 055884d29..69796ab07 100644 --- a/server/tests/fixtures/peertube-plugin-test/main.js +++ b/server/tests/fixtures/peertube-plugin-test/main.js | |||
@@ -9,7 +9,15 @@ async function register ({ registerHook, registerSetting, settingsManager, stora | |||
9 | 9 | ||
10 | 'action:api.video-thread.created', | 10 | 'action:api.video-thread.created', |
11 | 'action:api.video-comment-reply.created', | 11 | 'action:api.video-comment-reply.created', |
12 | 'action:api.video-comment.deleted' | 12 | 'action:api.video-comment.deleted', |
13 | |||
14 | 'action:api.user.blocked', | ||
15 | 'action:api.user.unblocked', | ||
16 | 'action:api.user.registered', | ||
17 | 'action:api.user.created', | ||
18 | 'action:api.user.deleted', | ||
19 | 'action:api.user.updated', | ||
20 | 'action:api.user.oauth2-got-token' | ||
13 | ] | 21 | ] |
14 | 22 | ||
15 | for (const h of actionHooks) { | 23 | for (const h of actionHooks) { |
diff --git a/server/tests/plugins/action-hooks.ts b/server/tests/plugins/action-hooks.ts index e28732cac..510ec3151 100644 --- a/server/tests/plugins/action-hooks.ts +++ b/server/tests/plugins/action-hooks.ts | |||
@@ -5,19 +5,26 @@ import 'mocha' | |||
5 | import { | 5 | import { |
6 | cleanupTests, | 6 | cleanupTests, |
7 | flushAndRunMultipleServers, | 7 | flushAndRunMultipleServers, |
8 | flushAndRunServer, killallServers, reRunServer, | 8 | killallServers, |
9 | reRunServer, | ||
9 | ServerInfo, | 10 | ServerInfo, |
10 | waitUntilLog | 11 | waitUntilLog |
11 | } from '../../../shared/extra-utils/server/servers' | 12 | } from '../../../shared/extra-utils/server/servers' |
12 | import { | 13 | import { |
13 | addVideoCommentReply, | 14 | addVideoCommentReply, |
14 | addVideoCommentThread, deleteVideoComment, | 15 | addVideoCommentThread, |
16 | blockUser, | ||
17 | createUser, | ||
18 | deleteVideoComment, | ||
15 | getPluginTestPath, | 19 | getPluginTestPath, |
16 | installPlugin, removeVideo, | 20 | installPlugin, login, |
21 | registerUser, removeUser, | ||
17 | setAccessTokensToServers, | 22 | setAccessTokensToServers, |
23 | unblockUser, updateUser, | ||
18 | updateVideo, | 24 | updateVideo, |
19 | uploadVideo, | 25 | uploadVideo, |
20 | viewVideo | 26 | viewVideo, |
27 | userLogin | ||
21 | } from '../../../shared/extra-utils' | 28 | } from '../../../shared/extra-utils' |
22 | 29 | ||
23 | const expect = chai.expect | 30 | const expect = chai.expect |
@@ -48,52 +55,104 @@ describe('Test plugin action hooks', function () { | |||
48 | await reRunServer(servers[0]) | 55 | await reRunServer(servers[0]) |
49 | }) | 56 | }) |
50 | 57 | ||
51 | it('Should run action:application.listening', async function () { | 58 | describe('Application hooks', function () { |
52 | await checkHook('action:application.listening') | 59 | it('Should run action:application.listening', async function () { |
60 | await checkHook('action:application.listening') | ||
61 | }) | ||
53 | }) | 62 | }) |
54 | 63 | ||
55 | it('Should run action:api.video.uploaded', async function () { | 64 | describe('Videos hooks', function () { |
56 | const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video' }) | 65 | it('Should run action:api.video.uploaded', async function () { |
57 | videoUUID = res.body.video.uuid | 66 | const res = await uploadVideo(servers[0].url, servers[0].accessToken, { name: 'video' }) |
67 | videoUUID = res.body.video.uuid | ||
58 | 68 | ||
59 | await checkHook('action:api.video.uploaded') | 69 | await checkHook('action:api.video.uploaded') |
60 | }) | 70 | }) |
61 | 71 | ||
62 | it('Should run action:api.video.updated', async function () { | 72 | it('Should run action:api.video.updated', async function () { |
63 | await updateVideo(servers[0].url, servers[0].accessToken, videoUUID, { name: 'video updated' }) | 73 | await updateVideo(servers[0].url, servers[0].accessToken, videoUUID, { name: 'video updated' }) |
64 | 74 | ||
65 | await checkHook('action:api.video.updated') | 75 | await checkHook('action:api.video.updated') |
66 | }) | 76 | }) |
67 | 77 | ||
68 | it('Should run action:api.video.viewed', async function () { | 78 | it('Should run action:api.video.viewed', async function () { |
69 | await viewVideo(servers[0].url, videoUUID) | 79 | await viewVideo(servers[0].url, videoUUID) |
70 | 80 | ||
71 | await checkHook('action:api.video.viewed') | 81 | await checkHook('action:api.video.viewed') |
82 | }) | ||
72 | }) | 83 | }) |
73 | 84 | ||
74 | it('Should run action:api.video-thread.created', async function () { | 85 | describe('Comments hooks', function () { |
75 | const res = await addVideoCommentThread(servers[0].url, servers[0].accessToken, videoUUID, 'thread') | 86 | it('Should run action:api.video-thread.created', async function () { |
76 | threadId = res.body.comment.id | 87 | const res = await addVideoCommentThread(servers[0].url, servers[0].accessToken, videoUUID, 'thread') |
88 | threadId = res.body.comment.id | ||
77 | 89 | ||
78 | await checkHook('action:api.video-thread.created') | 90 | await checkHook('action:api.video-thread.created') |
79 | }) | 91 | }) |
80 | 92 | ||
81 | it('Should run action:api.video-comment-reply.created', async function () { | 93 | it('Should run action:api.video-comment-reply.created', async function () { |
82 | await addVideoCommentReply(servers[0].url, servers[0].accessToken, videoUUID, threadId, 'reply') | 94 | await addVideoCommentReply(servers[0].url, servers[0].accessToken, videoUUID, threadId, 'reply') |
83 | 95 | ||
84 | await checkHook('action:api.video-comment-reply.created') | 96 | await checkHook('action:api.video-comment-reply.created') |
85 | }) | 97 | }) |
86 | 98 | ||
87 | it('Should run action:api.video-comment.deleted', async function () { | 99 | it('Should run action:api.video-comment.deleted', async function () { |
88 | await deleteVideoComment(servers[0].url, servers[0].accessToken, videoUUID, threadId) | 100 | await deleteVideoComment(servers[0].url, servers[0].accessToken, videoUUID, threadId) |
89 | 101 | ||
90 | await checkHook('action:api.video-comment.deleted') | 102 | await checkHook('action:api.video-comment.deleted') |
103 | }) | ||
91 | }) | 104 | }) |
92 | 105 | ||
93 | it('Should run action:api.video.deleted', async function () { | 106 | describe('Users hooks', function () { |
94 | await removeVideo(servers[0].url, servers[0].accessToken, videoUUID) | 107 | let userId: number |
108 | |||
109 | it('Should run action:api.user.registered', async function () { | ||
110 | await registerUser(servers[0].url, 'registered_user', 'super_password') | ||
95 | 111 | ||
96 | await checkHook('action:api.video.deleted') | 112 | await checkHook('action:api.user.registered') |
113 | }) | ||
114 | |||
115 | it('Should run action:api.user.created', async function () { | ||
116 | const res = await createUser({ | ||
117 | url: servers[0].url, | ||
118 | accessToken: servers[0].accessToken, | ||
119 | username: 'created_user', | ||
120 | password: 'super_password' | ||
121 | }) | ||
122 | userId = res.body.user.id | ||
123 | |||
124 | await checkHook('action:api.user.created') | ||
125 | }) | ||
126 | |||
127 | it('Should run action:api.user.oauth2-got-token', async function () { | ||
128 | await userLogin(servers[0], { username: 'created_user', password: 'super_password' }) | ||
129 | |||
130 | await checkHook('action:api.user.oauth2-got-token') | ||
131 | }) | ||
132 | |||
133 | it('Should run action:api.user.blocked', async function () { | ||
134 | await blockUser(servers[0].url, userId, servers[0].accessToken) | ||
135 | |||
136 | await checkHook('action:api.user.blocked') | ||
137 | }) | ||
138 | |||
139 | it('Should run action:api.user.unblocked', async function () { | ||
140 | await unblockUser(servers[0].url, userId, servers[0].accessToken) | ||
141 | |||
142 | await checkHook('action:api.user.unblocked') | ||
143 | }) | ||
144 | |||
145 | it('Should run action:api.user.updated', async function () { | ||
146 | await updateUser({ url: servers[0].url, accessToken: servers[0].accessToken, userId, videoQuota: 50 }) | ||
147 | |||
148 | await checkHook('action:api.user.updated') | ||
149 | }) | ||
150 | |||
151 | it('Should run action:api.user.deleted', async function () { | ||
152 | await removeUser(servers[0].url, userId, servers[0].accessToken) | ||
153 | |||
154 | await checkHook('action:api.user.deleted') | ||
155 | }) | ||
97 | }) | 156 | }) |
98 | 157 | ||
99 | after(async function () { | 158 | after(async function () { |