Files
versitygw/tests/drivers/list_buckets/list_buckets.sh
T

60 lines
1.9 KiB
Bash

#!/usr/bin/env bash
# Copyright 2026 Versity Software
# This file is licensed under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http:#www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
list_and_check_buckets_with_user() {
if [ $# -ne 5 ]; then
log 2 "'list_and_check_buckets' requires client, two bucket names, id, key"
return 1
fi
if ! response=$(list_buckets_with_user "$1" "$4" "$5" 2>&1); then
log 2 "error listing buckets: $response"
return 1
fi
read -r -a bucket_array <<< "$response"
local bucket_one_found=false
local bucket_two_found=false
log 5 "bucket array: ${bucket_array[*]}"
for bucket in "${bucket_array[@]}"; do
if [ "$bucket" == "$2" ] || [ "$bucket" == "s3://$2" ]; then
bucket_one_found=true
elif [ "$bucket" == "$3" ] || [ "$bucket" == "s3://$3" ]; then
bucket_two_found=true
fi
if [ $bucket_one_found == true ] && [ $bucket_two_found == true ]; then
break
fi
done
log 5 "buckets found? one: $bucket_one_found, two: $bucket_two_found"
if [ $bucket_one_found == false ] || [ $bucket_two_found == false ]; then
log 2 "Not all buckets found"
return 1
fi
return 0
}
list_and_check_buckets() {
if [ $# -ne 3 ]; then
log 2 "'list_and_check_buckets' requires client, two bucket names"
fi
if ! list_and_check_buckets_with_user "$1" "$2" "$3" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY"; then
log 2 "error listing and checking buckets"
return 1
fi
return 0
}