userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
s3_connection_test.cpp
1
#
include
<
s3api
/
s3_connection
.
hpp
>
2
3
#
include
<
userver
/
utest
/
utest
.
hpp
>
4
5
USERVER_NAMESPACE_BEGIN
6
7
namespace
s3api {
8
9
namespace
{
10
11
TEST(S3ConnectionHostHeader, BareHostWithBucket) {
12
// Продовый случай: api_url_ — голый хост, virtual-host адресация.
13
EXPECT_EQ(
S3Connection
::MakeHostHeader(
"s3.mds.yandex.net"
,
"mybucket"
),
"mybucket.s3.mds.yandex.net"
);
14
}
15
16
TEST(S3ConnectionHostHeader, BareHostWithoutBucket) {
17
EXPECT_EQ(
S3Connection
::MakeHostHeader(
"s3.mds.yandex.net"
,
""
),
"s3.mds.yandex.net"
);
18
}
19
20
TEST(S3ConnectionHostHeader, LocalhostWithSchemeAndBucket) {
21
// Тестовый endpoint на mockserver: схему и путь отбрасываем, но bucket
22
// сохраняем — mock определяет его по Host (virtual-host).
23
EXPECT_EQ(
S3Connection
::MakeHostHeader(
"http://localhost:41871/s3mds"
,
"bucket"
),
"bucket.localhost:41871"
);
24
}
25
26
TEST(S3ConnectionHostHeader, LocalhostWithSchemeAndPathWithoutBucket) {
27
// Bucket пуст, имя мока зашито в путь endpoint (кейс fintech): остаётся
28
// только authority.
29
EXPECT_EQ(
S3Connection
::MakeHostHeader(
"http://localhost:41507/risk-collection-ui"
,
""
),
"localhost:41507"
);
30
}
31
32
TEST(S3ConnectionHostHeader, RemoteHostWithScheme) {
33
EXPECT_EQ(
S3Connection
::MakeHostHeader(
"http://s3.example.com"
,
"bucket"
),
"bucket.s3.example.com"
);
34
}
35
36
TEST(S3ConnectionHostHeader, RemoteHostWithSchemeAndPath) {
37
EXPECT_EQ(
S3Connection
::MakeHostHeader(
"https://s3.example.com/prefix"
,
"bucket"
),
"bucket.s3.example.com"
);
38
}
39
40
}
// namespace
41
42
}
// namespace s3api
43
44
USERVER_NAMESPACE_END
src
s3api
s3_connection_test.cpp
Generated on
for userver by
Doxygen
1.17.0