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