Mercurial > gemma
comparison schema/manage_users_tests.sql @ 195:5dc8e734487a
Introduce database schemas as privilege-based namespaces
Some privileges changed (e.g. for responsibility_areas), but additional
privileges were not left off intentionally before.
Search path settings have been replaced by schema-qualifying names in
statements to prevent object definitions from being dependend on
search path settings.
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 20 Jul 2018 17:28:16 +0200 |
parents | a9d9c2b1d08c |
children | b67208d82543 |
comparison
equal
deleted
inserted
replaced
194:cf5dcc1761df | 195:5dc8e734487a |
---|---|
1 BEGIN; | 1 BEGIN; |
2 -- | 2 -- |
3 -- pgTAP test script for user management functions | 3 -- pgTAP test script for user management functions |
4 -- | 4 -- |
5 SELECT plan(5); -- Give number of tests that have to be run | 5 SELECT plan(6); -- Give number of tests that have to be run |
6 | 6 |
7 SET search_path TO public, gemma, gemma_waterway, gemma_fairway; | 7 SET search_path TO public, gemma, gemma_waterway, gemma_fairway; |
8 | 8 |
9 -- | 9 SET SESSION AUTHORIZATION waterway_admin; |
10 -- Run tests as system_admin | 10 |
11 -- | 11 SELECT throws_ok($$ |
12 SELECT sys_admin.create_user( | |
13 'waterway_user', 'test0', 'secret', 'AT', NULL, 'test0') | |
14 $$, | |
15 42501, NULL, | |
16 'Less privileged user cannot call function in schema sys_admin'); | |
17 | |
12 SET SESSION AUTHORIZATION sys_admin; | 18 SET SESSION AUTHORIZATION sys_admin; |
13 | 19 |
14 SELECT lives_ok($$ | 20 SELECT lives_ok($$ |
15 SELECT create_user( | 21 SELECT sys_admin.create_user( |
16 'waterway_user', 'test1', 'secret', 'AT', NULL, 'test1') | 22 'waterway_user', 'test1', 'secret', 'AT', NULL, 'test1') |
17 $$, | 23 $$, |
18 'New waterway user can be added'); | 24 'New waterway user can be added'); |
19 | 25 |
20 SELECT throws_ok($$ | 26 SELECT throws_ok($$ |
21 SELECT create_user( | 27 SELECT sys_admin.create_user( |
22 'invalid', 'test2', 'secret', 'AT', NULL, 'test2') | 28 'invalid', 'test2', 'secret', 'AT', NULL, 'test2') |
23 $$, | 29 $$, |
24 42704, NULL, | 30 42704, NULL, |
25 'Valid role name has to be provided'); | 31 'Valid role name has to be provided'); |
26 | 32 |
27 SELECT throws_ok($$ | 33 SELECT throws_ok($$ |
28 SELECT create_user( | 34 SELECT sys_admin.create_user( |
29 'waterway_user', NULL, 'secret', 'AT', NULL, 'test3') | 35 'waterway_user', NULL, 'secret', 'AT', NULL, 'test3') |
30 $$, | 36 $$, |
31 23502, NULL, | 37 23502, NULL, |
32 'username is mandatory'); | 38 'username is mandatory'); |
33 -- Though other arguments are mandatory, too, there are no explicit tests | 39 -- Though other arguments are mandatory, too, there are no explicit tests |
34 | 40 |
35 SELECT throws_ok($$ | 41 SELECT throws_ok($$ |
36 SELECT create_user( | 42 SELECT sys_admin.create_user( |
37 'waterway_user', 'waterway_user', 'secret', 'AT', NULL, 'test4') | 43 'waterway_user', 'waterway_user', 'secret', 'AT', NULL, 'test4') |
38 $$, | 44 $$, |
39 23505, NULL, | 45 23505, NULL, |
40 'No duplicate user name is allowed'); | 46 'No duplicate user name is allowed'); |
41 | 47 |
42 SELECT throws_ok($$ | 48 SELECT throws_ok($$ |
43 SELECT create_user( | 49 SELECT sys_admin.create_user( |
44 'waterway_user', 'test2', 'secret', 'AT', NULL, 'xxx') | 50 'waterway_user', 'test2', 'secret', 'AT', NULL, 'xxx') |
45 $$, | 51 $$, |
46 23505, NULL, | 52 23505, NULL, |
47 'No duplicate e-mail adress is allowed'); | 53 'No duplicate e-mail adress is allowed'); |
48 | 54 |