/
s3conf_test.cpp
103 lines (75 loc) · 3.16 KB
/
s3conf_test.cpp
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
#include "s3conf.cpp"
#include "gtest/gtest.h"
TEST(Config, NonExistFile) {
EXPECT_THROW(InitConfig("s3://abc/a config=notexist/path/s3test.conf"), S3RuntimeError);
}
TEST(Config, Basic) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=default");
EXPECT_EQ("secret_test", params.getCred().secret);
EXPECT_EQ("accessid_test", params.getCred().accessID);
EXPECT_EQ("ABCDEFGabcdefg", params.getCred().token);
#ifdef S3_STANDALONE
EXPECT_EQ(0, s3ext_segid);
EXPECT_EQ(1, s3ext_segnum);
#endif
EXPECT_EQ((uint64_t)6, params.getNumOfChunks());
EXPECT_EQ((uint64_t)(64 * 1024 * 1024 + 1), params.getChunkSize());
EXPECT_EQ(EXT_INFO, s3ext_loglevel);
EXPECT_EQ(STDERR_LOG, s3ext_logtype);
EXPECT_EQ(1111, s3ext_logserverport);
EXPECT_EQ("127.0.0.1", s3ext_logserverhost);
EXPECT_EQ((uint64_t)1024, params.getLowSpeedLimit());
EXPECT_EQ((uint64_t)600, params.getLowSpeedTime());
EXPECT_FALSE(params.isDebugCurl());
EXPECT_EQ(SSE_S3, params.getSSEType());
}
TEST(Config, SpecialSectionValues) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=special_over");
EXPECT_EQ((uint64_t)8, params.getNumOfChunks());
EXPECT_EQ((uint64_t)(128 * 1024 * 1024), params.getChunkSize());
EXPECT_EQ((uint64_t)10240, params.getLowSpeedLimit());
EXPECT_EQ((uint64_t)60, params.getLowSpeedTime());
EXPECT_FALSE(params.isDebugCurl());
EXPECT_EQ(SSE_NONE, params.getSSEType());
}
TEST(Config, SpecialSectionLowValues) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=special_low");
EXPECT_EQ((uint64_t)1, params.getNumOfChunks());
EXPECT_EQ((uint64_t)(8 * 1024 * 1024), params.getChunkSize());
}
TEST(Config, SpecialSectionWrongKeyName) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=special_wrongkeyname");
EXPECT_EQ((uint64_t)4, params.getNumOfChunks());
EXPECT_EQ((uint64_t)(64 * 1024 * 1024), params.getChunkSize());
}
TEST(Config, SpecialSwitches) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=special_switches");
EXPECT_TRUE(params.isDebugCurl());
}
TEST(Config, SectionExist) {
Config s3cfg("data/s3test.conf");
EXPECT_TRUE(s3cfg.SectionExist("special_switches"));
}
TEST(Config, SectionNotExist) {
Config s3cfg("data/s3test.conf");
EXPECT_FALSE(s3cfg.SectionExist("not_exist"));
}
TEST(Common, CheckEssentialConfig) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf");
S3Credential cred1 = {"keyid/foo", "", ""};
params.setCred(cred1);
EXPECT_THROW(CheckEssentialConfig(params), S3ConfigError);
S3Credential cred2 = {"keyid/foo", "secret/bar", ""};
params.setCred(cred2);
s3ext_segnum = 0;
EXPECT_THROW(CheckEssentialConfig(params), S3ConfigError);
s3ext_segnum = 1;
}
TEST(Config, SkipVerify) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=skip_verify");
EXPECT_FALSE(params.isVerifyCert());
}
TEST(Config, Proxy) {
S3Params params = InitConfig("s3://abc/a config=data/s3test.conf section=proxy");
EXPECT_EQ("https://127.0.0.1:8080", params.getProxy());
}