@@ -18,6 +18,7 @@ source ./tests/setup.sh
18
18
source ./tests/util/util_create_bucket.sh
19
19
source ./tests/util/util_list_buckets.sh
20
20
source ./tests/util/util_object.sh
21
+ source ./tests/util/util_setup.sh
21
22
source ./tests/util/util_users.sh
22
23
source ./tests/commands/list_buckets.sh
23
24
@@ -59,72 +60,58 @@ test_admin_user() {
59
60
60
61
run change_bucket_owner " $admin_username " " $admin_password " " $BUCKET_TWO_NAME " " $user_username "
61
62
assert_success
62
-
63
- delete_user " $user_username "
64
- delete_user " $admin_username "
65
63
}
66
64
67
65
test_create_user_already_exists () {
68
- if [[ $# -ne 1 ]]; then
69
- fail " test admin user command requires command type"
70
- fi
66
+ assert [ $# -eq 1 ]
71
67
72
68
username=" $USERNAME_ONE "
73
69
password=" $PASSWORD_ONE "
74
70
75
- run setup_user " $username " " 123456" " admin"
76
- assert_success " error setting up user"
77
-
78
- if create_user " $username " " 123456" " admin" ; then
79
- fail " 'user already exists' error not returned"
80
- fi
71
+ run setup_user " $username " " $password " " admin"
72
+ assert_success
81
73
82
- delete_user " $username "
74
+ run create_user_versitygw " $username " " $password " " admin"
75
+ assert_failure
83
76
}
84
77
85
78
test_user_user () {
79
+ if [ " $RECREATE_BUCKETS " == " false" ]; then
80
+ skip
81
+ fi
82
+
86
83
if [[ $# -ne 1 ]]; then
87
84
fail " test admin user command requires command type"
88
85
fi
89
86
90
87
username=" $USERNAME_ONE "
91
88
password=" $PASSWORD_ONE "
92
89
93
- setup_user " $username " " $password " " user" || fail " error setting up user"
94
- bucket_cleanup_if_bucket_exists " s3api" " versity-gwtest-user-bucket"
95
-
96
- run setup_bucket " s3api" " $BUCKET_ONE_NAME "
90
+ run setup_bucket_and_user " $BUCKET_ONE_NAME " " $username " " $password " " user"
97
91
assert_success
98
92
99
- if create_bucket_with_user " s3api" " versity-gwtest-user-bucket" " $username " " $password " ; then
100
- fail " creating bucket with 'user' account failed to return error"
93
+ if [ " $RECREATE_BUCKETS " == " true" ]; then
94
+ run bucket_cleanup_if_bucket_exists " s3api" " $BUCKET_TWO_NAME "
95
+ assert_success
96
+ run create_bucket " s3api" " $BUCKET_TWO_NAME "
97
+ assert_success
98
+ else
99
+ run change_bucket_owner " $AWS_ACCESS_KEY_ID " " $AWS_SECRET_ACCESS_KEY " " $BUCKET_TWO_NAME " " $AWS_ACCESS_KEY_ID "
100
+ assert_success
101
101
fi
102
- # shellcheck disable=SC2154
103
- [[ $error == * " Access Denied" * ]] || fail " error message '$error ' doesn't contain 'Access Denied'"
104
102
105
- create_bucket " s3api" " versity-gwtest-user-bucket" || fail " error creating bucket"
103
+ run change_bucket_owner " $AWS_ACCESS_KEY_ID " " $AWS_SECRET_ACCESS_KEY " " $BUCKET_TWO_NAME " " $username "
104
+ assert_success
106
105
107
- change_bucket_owner " $AWS_ACCESS_KEY_ID " " $AWS_SECRET_ACCESS_KEY " " versity-gwtest-user-bucket" " $username " || fail " error changing bucket owner"
108
- if change_bucket_owner " $username " " $password " " versity-gwtest-user-bucket" " admin" ; then
109
- fail " user shouldn't be able to change bucket owner"
110
- fi
106
+ run change_bucket_owner " $username " " $password " " $BUCKET_TWO_NAME " " admin"
107
+ assert_failure
108
+ assert_output -p " AccessDenied"
111
109
112
- list_buckets_with_user " s3api" " $username " " $password " || fail " error listing buckets with user '$username '"
113
- bucket_found=false
114
- for bucket in " ${bucket_array[@]} " ; do
115
- if [ " $bucket " == " $BUCKET_ONE_NAME " ]; then
116
- fail " $BUCKET_ONE_NAME shouldn't show up in 'user' bucket list"
117
- elif [ " $bucket " == " versity-gwtest-user-bucket" ]; then
118
- bucket_found=true
119
- fi
120
- done
121
- if [ $bucket_found == false ]; then
122
- fail " user-owned bucket not found in user list"
123
- fi
110
+ run list_and_check_buckets_omit_without_permission " $username " " $password " " $BUCKET_ONE_NAME " " $BUCKET_TWO_NAME "
111
+ assert_success
124
112
125
113
run delete_bucket " s3api" " versity-gwtest-user-bucket"
126
114
assert_success " failed to delete bucket"
127
- delete_user " $username "
128
115
}
129
116
130
117
test_userplus_operation () {
@@ -135,32 +122,22 @@ test_userplus_operation() {
135
122
username=" $USERNAME_ONE "
136
123
password=" $PASSWORD_ONE "
137
124
138
- bucket_cleanup_if_bucket_exists " s3api" " versity-gwtest-userplus-bucket"
139
- setup_user " $username " " $password " " userplus" || fail " error creating user '$username '"
140
-
141
- run setup_bucket " s3api" " $BUCKET_ONE_NAME "
125
+ run setup_bucket_and_user " $BUCKET_ONE_NAME " " $username " " $password " " userplus"
142
126
assert_success
143
127
144
- create_bucket_with_user " s3api" " versity-gwtest-userplus-bucket" " $username " " $password " || fail " error creating bucket with user '$username '"
145
-
146
- list_buckets_with_user " s3api" " $username " " $password " || fail " error listing buckets with user '$username '"
147
- bucket_found=false
148
- for bucket in " ${bucket_array[@]} " ; do
149
- if [ " $bucket " == " $BUCKET_ONE_NAME " ]; then
150
- fail " $BUCKET_ONE_NAME shouldn't show up in 'userplus' bucket list"
151
- elif [ " $bucket " == " versity-gwtest-userplus-bucket" ]; then
152
- bucket_found=true
153
- fi
154
- done
155
- if [ $bucket_found == false ]; then
156
- fail " userplus-owned bucket not found in user list"
128
+ if [ " $RECREATE_BUCKETS " == " true" ]; then
129
+ run bucket_cleanup_if_bucket_exists " s3api" " $BUCKET_TWO_NAME "
130
+ assert_success
131
+ run create_bucket_with_user " s3api" " $BUCKET_TWO_NAME " " $username " " $password "
132
+ assert_success
133
+ else
134
+ run change_bucket_owner " $AWS_ACCESS_KEY_ID " " $AWS_SECRET_ACCESS_KEY " " $BUCKET_TWO_NAME " " $username "
135
+ assert_success
157
136
fi
158
137
159
- if change_bucket_owner " $username " " $password " " versity-gwtest-userplus-bucket" " admin" ; then
160
- fail " userplus shouldn't be able to change bucket owner"
161
- fi
138
+ run list_and_check_buckets_omit_without_permission " $username " " $password " " $BUCKET_ONE_NAME " " $BUCKET_TWO_NAME "
139
+ assert_success
162
140
163
- run delete_bucket " s3api" " versity-gwtest-admin-bucket"
164
- assert_success " failed to delete bucket"
165
- delete_user " $username "
141
+ run change_bucket_owner " $username " " $password " " $BUCKET_TWO_NAME " " admin"
142
+ assert_failure
166
143
}
0 commit comments