-
Notifications
You must be signed in to change notification settings - Fork 0
/
bucket_testscript.sh
executable file
·156 lines (130 loc) · 5.63 KB
/
bucket_testscript.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
#!/bin/bash
estatus=0
cmdPath='./gcscmd'
testCases() {
echo "_/_/_/_/_/_/_/_/_/_/_/_/_/ 桶操作 开始 _/_/_/_/_/_/_/_/_/_/_/_/_/"
# todo: 数据准备,删除所有桶,还是切换APIKEY?
echo '桶操作 => 列出桶对象 => 无桶 => gcscmd ls start'
execCmd '桶操作' '列出桶对象' '无桶' 'gcscmd ls' 'ls' ''
echo '桶操作 => 列出桶对象 => 无桶 => gcscmd ls end'
echo ''
echo '桶操作 => 创建桶 => 正常创建 => gcscmd mb cs://bbb start'
echo '数据准备'
echo '创建新桶'
bucketName="bucket-create-"$(date "+%Y%m%d%H%M%S")"-"$RANDOM
execCmd '桶操作' '创建桶' '正常创建' 'gcscmd mb cs://'$bucketName 'mb cs://'$bucketName ''
echo '桶操作 => 创建桶 => 正常创建 => gcscmd mb cs://bbb end'
echo ''
echo '桶操作 => 创建桶 => 非正常创建-桶名重复 => gcscmd mb cs://bbb start'
echo '此操作应给出错误提示'
execCmdFail '桶操作' '创建桶' '非正常创建-桶名重复' 'gcscmd mb cs://'$bucketName 'mb cs://'$bucketName ''
echo '桶操作 => 创建桶 => 非正常创建-桶名重复 => gcscmd mb cs://bbb end'
echo ''
# # todo: 测试意图?
# # 桶操作 => 创建桶 => 非正常创建-创建多个桶 => gcscmd mb cs://aaa
# execCmdFail '桶操作' '创建桶' '非正常创建-创建多个桶' 'gcscmd mb cs://'$bucketName 'mb cs://'$bucketName ''
echo '桶操作 => 列出桶对象 => 有桶 => gcscmd ls start'
# 返回对应bucketName桶数据
execCmd '桶操作' '列出桶对象' '有桶' 'gcscmd ls' 'ls' ''
echo '桶操作 => 列出桶对象 => 有桶 => gcscmd ls end'
echo ''
echo '桶操作 => 移除桶 => 正常删除-无数据删除 => gcscmd rb cs://bbb start'
execCmd '桶操作' '移除桶' '正常删除-无数据删除' 'gcscmd rb cs://'$bucketName 'rb cs://'$bucketName ''
echo '桶操作 => 移除桶 => 正常删除-无数据删除 => gcscmd rb cs://bbb end'
echo ''
echo '桶操作 => 移除桶 => 重复删除-继续删除已删除的桶 => gcscmd rb cs://bbb start'
echo '此操作应给出错误提示'
execCmdFail '桶操作' '移除桶' '重复删除-继续删除已删除的桶' 'gcscmd rb cs://'$bucketName 'rb cs://'$bucketName ''
echo '桶操作 => 移除桶 => 重复删除-继续删除已删除的桶 => gcscmd rb cs://bbb end'
echo ''
echo '桶操作 => 移除桶 => 正常删除-有数据删除 => gcscmd rb cs://bbb start'
echo '数据准备'
echo '1、创建新桶'
bucketName="bucket-create-"$(date "+%Y%m%d%H%M%S")"-"$RANDOM
$cmdPath mb cs://$bucketName
echo '2、添加对象'
testDataFileName="testdata_"$(date "+%Y%m%d%H%M%S")"-"$RANDOM".dat"
#echo $testDataFileName
dd if=/dev/urandom of=$testDataFileName bs=1024 count=1024
$cmdPath put $testDataFileName cs://$bucketName
echo '此操作应给出错误提示'
execCmdFail '桶操作' '移除桶' '正常删除-有数据删除' 'gcscmd rb cs://'$bucketName 'rb cs://'$bucketName ''
echo '3、数据清理'
rm -rf $testDataFileName
echo '桶操作 => 移除桶 => 正常删除-有数据删除 => gcscmd rb cs://bbb end'
echo ''
echo '桶操作 => 移除桶 => 正常删除-有数据强制删除 => gcscmd rb cs://bbb --force start'
execCmd '桶操作' '移除桶' '正常删除-有数据强制删除' 'gcscmd rb cs://'$bucketName' --force' 'rb cs://'$bucketName' --force' ''
echo '桶操作 => 移除桶 => 正常删除-有数据强制删除 => gcscmd rb cs://bbb --force end'
echo ''
echo '桶操作 => 清空桶 => 正常清空-有数据清空 => gcscmd rm cs://bbb start'
echo '数据准备'
echo '1、创建新桶'
bucketName="bucket-create-"$(date "+%Y%m%d%H%M%S")"-"$RANDOM
$cmdPath mb cs://$bucketName
echo '2、添加对象'
testDataFileName="testdata_"$(date "+%Y%m%d%H%M%S")"-"$RANDOM".dat"
#echo $testDataFileName
dd if=/dev/urandom of=$testDataFileName bs=1024 count=1024
$cmdPath put $testDataFileName cs://$bucketName
echo '此操作应给出错误提示'
execCmdFail '桶操作' '清空桶' '正常清空-有数据清空' 'gcscmd rm cs://'$bucketName 'rm cs://'$bucketName ''
echo '桶操作 => 清空桶 => 正常清空-有数据清空 => gcscmd rm cs://bbb end'
echo ''
echo '桶操作测试数据清理'
$cmdPath rb cs://$bucketName --force
rm -rf $testDataFileName
echo "_/_/_/_/_/_/_/_/_/_/_/_/_/ 桶操作 结束 _/_/_/_/_/_/_/_/_/_/_/_/_/"
echo ''
}
execCmd() {
testModule=$1
testFunction=$2
testCase=$3
testDescription=$4
testCmd=$5
testExpectation=$6
testFail=$7
echo $testModule"=>"$testFunction"=>"$testCase"=>"$testDescription
cmdStr=$cmdPath' '$testCmd
echo 'executing '$cmdStr
eval $cmdStr
echo ''
if [ $? -eq 0 ]; then
echo -e "\033[32mSuccess: $cmdStr test pass.\033[0m"
else
echo -e "\033[31mFailure: $cmdStr test fail. \033[0m"
estatus=$(($etatus + 1))
fi
echo ""
}
execCmdFail() {
testModule=$1
testFunction=$2
testCase=$3
testDescription=$4
testCmd=$5
testExpectation=$6
testFail=$7
echo $testModule"=>"$testFunction"=>"$testCase"=>"$testDescription
cmdStr=$cmdPath' '$testCmd
echo 'executing '$cmdStr
eval $cmdStr
exitCode=$?
echo ''
if [ $exitCode -eq 0 ]; then
echo -e "\033[31mFailure: $cmdStr test should be prompt error message. \033[0m"
estatus=$(($etatus + 1))
else
echo -e "\033[32mSuccess: $cmdStr test pass, return error message and exit code is not equal zero. \033[0m"
# estatus=$?
fi
echo "exitcode:"$exitCode
echo ""
}
echo "===========================Chainstorage cli Test start=========================="
echo ''
testCases
echo "===========================Chainstorage cli Test end============================="
echo "Test status code:"$estatus
exit $estatus