Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 466f3df

Browse files
committed
Test roles with snapfs
1 parent 4e58860 commit 466f3df

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Role and permissions checks
2+
# We are using three backends: read-write, read, snapshot.
3+
4+
setup {
5+
create table t1 as
6+
select generate_series as id, trim( to_char( generate_series, '000' ) ) as "name"
7+
from generate_series( 1, 100 );
8+
}
9+
10+
teardown {
11+
select pg_switch_to_snapshot( 0 );
12+
select pg_remove_snapshot( ( select recent_snapshot from pg_control_snapshot() ) );
13+
DROP TABLE t1 CASCADE;
14+
}
15+
16+
session "s1"
17+
step "s1_cr" {
18+
create role test_role1 nologin;
19+
}
20+
step "s1_check" {
21+
select rolname, rolcanlogin from pg_roles where rolname in ( 'test_role1', 'test_role2' );
22+
}
23+
step "s1_ar" {
24+
alter role test_role1 rename to test_role2;
25+
alter role test_role2 login;
26+
}
27+
step "s1_dr" {
28+
drop role test_role2;
29+
}
30+
step "s1_sb_0" {
31+
select pg_set_backend_snapshot( 0 );
32+
}
33+
step "s1_sb_1" {
34+
select pg_set_backend_snapshot( ( select recent_snapshot - 2 from pg_control_snapshot() ) );
35+
}
36+
step "s1_sb_2" {
37+
select pg_set_backend_snapshot( ( select recent_snapshot - 1 from pg_control_snapshot() ) );
38+
}
39+
step "s1_sb_3" {
40+
select pg_set_backend_snapshot( ( select recent_snapshot from pg_control_snapshot() ) );
41+
}
42+
43+
session "s2"
44+
step "s2_check" {
45+
select rolname, rolcanlogin from pg_roles where rolname in ( 'test_role1', 'test_role2' );
46+
}
47+
step "s2_sb_0" {
48+
select pg_set_backend_snapshot( 0 );
49+
}
50+
step "s2_sb_1" {
51+
select pg_set_backend_snapshot( ( select recent_snapshot - 2 from pg_control_snapshot() ) );
52+
}
53+
step "s2_sb_2" {
54+
select pg_set_backend_snapshot( ( select recent_snapshot - 1 from pg_control_snapshot() ) );
55+
}
56+
step "s2_sb_3" {
57+
select pg_set_backend_snapshot( ( select recent_snapshot from pg_control_snapshot() ) );
58+
}
59+
60+
session "s3"
61+
step "s3_mk_sn" {
62+
select 1 from pg_make_snapshot();
63+
}
64+
step "s3_sw_0" {
65+
select pg_switch_to_snapshot( 0 );
66+
}
67+
step "s3_sw_1" {
68+
select pg_switch_to_snapshot( ( select recent_snapshot - 2 from pg_control_snapshot() ) );
69+
}
70+
step "s3_sw_2" {
71+
select pg_switch_to_snapshot( ( select recent_snapshot - 1 from pg_control_snapshot() ) );
72+
}
73+
step "s3_sw_3" {
74+
select pg_switch_to_snapshot( ( select recent_snapshot from pg_control_snapshot() ) );
75+
}
76+
step "s3_rc_sn" {
77+
select pg_recover_to_snapshot( ( select recent_snapshot from pg_control_snapshot() ) );
78+
}
79+
step "s3_rc_sn_1" {
80+
select pg_recover_to_snapshot( ( select recent_snapshot - 2 from pg_control_snapshot() ) );
81+
}
82+
step "s3_rc_sn_2" {
83+
select pg_recover_to_snapshot( ( select recent_snapshot - 1 from pg_control_snapshot() ) );
84+
}
85+
86+
permutation "s3_mk_sn" "s1_cr" "s3_mk_sn" "s1_check" "s1_ar" "s3_mk_sn" "s1_dr" "s1_check" "s2_check" "s3_sw_1" "s1_check" "s2_check" "s3_sw_2" "s1_check" "s2_check" "s3_sw_3" "s1_check" "s2_check" "s3_sw_0" "s1_check" "s2_check"
87+
#permutation "s3_mk_sn" "s1_cr" "s3_mk_sn" "s1_check" "s1_ar" "s3_mk_sn" "s1_dr" "s1_check" "s2_check" "s1_sb_1" "s1_check" "s2_check" "s1_sb_2" "s1_check" "s2_check" "s1_sb_3" "s1_check" "s2_check" "s1_sb_0" "s1_check" "s2_check"
88+
#permutation "s3_mk_sn" "s1_cr" "s3_mk_sn" "s1_check" "s1_ar" "s3_mk_sn" "s1_dr" "s1_check" "s2_check" "s2_sb_1" "s1_check" "s2_check" "s2_sb_2" "s1_check" "s2_check" "s2_sb_3" "s1_check" "s2_check" "s2_sb_0" "s1_check" "s2_check"
89+
#permutation "s3_mk_sn" "s1_cr" "s3_mk_sn" "s1_check" "s1_ar" "s3_mk_sn" "s1_dr" "s1_check" "s2_check" "s3_rc_sn_2" "s1_check" "s2_check"
90+
permutation "s3_mk_sn" "s1_cr" "s3_mk_sn" "s1_check" "s1_ar" "s3_mk_sn" "s1_dr" "s1_check" "s2_check" "s3_rc_sn" "s1_check" "s2_check" "s3_rc_sn" "s1_check" "s2_check" "s3_rc_sn" "s1_check" "s2_check"

0 commit comments

Comments
 (0)