diff options
Diffstat (limited to 'server/tests')
-rw-r--r-- | server/tests/fixtures/peertube-plugin-test-id-pass-auth-three/main.js | 69 | ||||
-rw-r--r-- | server/tests/plugins/id-and-pass-auth.ts | 14 |
2 files changed, 83 insertions, 0 deletions
diff --git a/server/tests/fixtures/peertube-plugin-test-id-pass-auth-three/main.js b/server/tests/fixtures/peertube-plugin-test-id-pass-auth-three/main.js index 372f3fa0c..caa6a7ccd 100644 --- a/server/tests/fixtures/peertube-plugin-test-id-pass-auth-three/main.js +++ b/server/tests/fixtures/peertube-plugin-test-id-pass-auth-three/main.js | |||
@@ -23,6 +23,75 @@ async function register ({ | |||
23 | return null | 23 | return null |
24 | } | 24 | } |
25 | }) | 25 | }) |
26 | |||
27 | registerIdAndPassAuth({ | ||
28 | authName: 'ward-auth', | ||
29 | |||
30 | getWeight: () => 5, | ||
31 | |||
32 | login (body) { | ||
33 | if (body.id === 'ward') { | ||
34 | return Promise.resolve({ | ||
35 | username: 'ward-42', | ||
36 | email: 'ward@example.com' | ||
37 | }) | ||
38 | } | ||
39 | |||
40 | return null | ||
41 | } | ||
42 | }) | ||
43 | |||
44 | registerIdAndPassAuth({ | ||
45 | authName: 'kiros-auth', | ||
46 | |||
47 | getWeight: () => 5, | ||
48 | |||
49 | login (body) { | ||
50 | if (body.id === 'kiros') { | ||
51 | return Promise.resolve({ | ||
52 | username: 'kiros', | ||
53 | email: 'kiros@example.com', | ||
54 | displayName: 'a'.repeat(5000) | ||
55 | }) | ||
56 | } | ||
57 | |||
58 | return null | ||
59 | } | ||
60 | }) | ||
61 | |||
62 | registerIdAndPassAuth({ | ||
63 | authName: 'raine-auth', | ||
64 | |||
65 | getWeight: () => 5, | ||
66 | |||
67 | login (body) { | ||
68 | if (body.id === 'raine') { | ||
69 | return Promise.resolve({ | ||
70 | username: 'raine', | ||
71 | email: 'raine@example.com', | ||
72 | role: 42 | ||
73 | }) | ||
74 | } | ||
75 | |||
76 | return null | ||
77 | } | ||
78 | }) | ||
79 | |||
80 | registerIdAndPassAuth({ | ||
81 | authName: 'ellone-auth', | ||
82 | |||
83 | getWeight: () => 5, | ||
84 | |||
85 | login (body) { | ||
86 | if (body.id === 'ellone') { | ||
87 | return Promise.resolve({ | ||
88 | username: 'ellone' | ||
89 | }) | ||
90 | } | ||
91 | |||
92 | return null | ||
93 | } | ||
94 | }) | ||
26 | } | 95 | } |
27 | 96 | ||
28 | async function unregister () { | 97 | async function unregister () { |
diff --git a/server/tests/plugins/id-and-pass-auth.ts b/server/tests/plugins/id-and-pass-auth.ts index caf65b55f..c6382435d 100644 --- a/server/tests/plugins/id-and-pass-auth.ts +++ b/server/tests/plugins/id-and-pass-auth.ts | |||
@@ -151,6 +151,20 @@ describe('Test id and pass auth plugins', function () { | |||
151 | await getMyUserInformation(server.url, lagunaAccessToken, 401) | 151 | await getMyUserInformation(server.url, lagunaAccessToken, 401) |
152 | }) | 152 | }) |
153 | 153 | ||
154 | it('Should reject an invalid username, email, role or display name', async function () { | ||
155 | await userLogin(server, { username: 'ward', password: 'ward password' }, 400) | ||
156 | await waitUntilLog(server, 'valid username') | ||
157 | |||
158 | await userLogin(server, { username: 'kiros', password: 'kiros password' }, 400) | ||
159 | await waitUntilLog(server, 'valid display name') | ||
160 | |||
161 | await userLogin(server, { username: 'raine', password: 'raine password' }, 400) | ||
162 | await waitUntilLog(server, 'valid role') | ||
163 | |||
164 | await userLogin(server, { username: 'ellone', password: 'elonne password' }, 400) | ||
165 | await waitUntilLog(server, 'valid email') | ||
166 | }) | ||
167 | |||
154 | it('Should uninstall the plugin one and do not login existing Crash', async function () { | 168 | it('Should uninstall the plugin one and do not login existing Crash', async function () { |
155 | await uninstallPlugin({ | 169 | await uninstallPlugin({ |
156 | url: server.url, | 170 | url: server.url, |