Skip to content

Commit 0ddf173

Browse files
committed
Add some tests
1 parent 2d59709 commit 0ddf173

File tree

2 files changed

+115
-11
lines changed

2 files changed

+115
-11
lines changed

ydb/core/config/init/init_ut.cpp

Lines changed: 75 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,11 @@ Y_UNIT_TEST_SUITE(XdsBootstrapConfig) {
400400
entry:
401401
- component: BS_CONTROLLER
402402
level: 7
403+
)";
403404

405+
Y_UNIT_TEST(CanSetHostnameAndDataCenterFromYdbNode) {
406+
TString tmpConfig(config);
407+
tmpConfig.append(R"(
404408
grpc_config:
405409
xds_bootstrap:
406410
xds_servers:
@@ -416,14 +420,8 @@ Y_UNIT_TEST_SUITE(XdsBootstrapConfig) {
416420
meta: {"service": "ydb"}
417421
#locality:
418422
#zone: Try set zone as data center of ydb node instance
419-
420-
allowed_labels:
421-
test:
422-
type: string
423-
)";
424-
425-
Y_UNIT_TEST(CanSetHostnameAndDataCenterFromYdbNode) {
426-
TTempFileHandle configFile = CreateConfigFile(config);
423+
)");
424+
TTempFileHandle configFile = CreateConfigFile(tmpConfig);
427425
TVector<TString> args;
428426
PreFillArgs(args, configFile.Name());
429427
NKikimrConfig::TAppConfig appConfig = TransformConfig(args, GetEnvMock(/*hostname*/"vla-000-localhost", /*fqdnHostName*/"vla-000-localhost"));
@@ -436,7 +434,25 @@ Y_UNIT_TEST_SUITE(XdsBootstrapConfig) {
436434
}
437435

438436
Y_UNIT_TEST(CanSetDataCenterFromYbdNodeArgument) {
439-
TTempFileHandle configFile = CreateConfigFile(config);
437+
TString tmpConfig(config);
438+
tmpConfig.append(R"(
439+
grpc_config:
440+
xds_bootstrap:
441+
xds_servers:
442+
- server_uri: "xds-provider.bootstrap.cloud-testing.yandex.net:18000"
443+
server_features:
444+
- "xds_v3"
445+
channel_creds:
446+
- type: "insecure"
447+
config: {"k1": "v1", "k2": "v2"}
448+
node:
449+
# id: Do not set id. Try set id from ydb node instance
450+
cluster: "testing"
451+
meta: {"service": "ydb"}
452+
#locality:
453+
#zone: Try set zone as data center of ydb node instance
454+
)");
455+
TTempFileHandle configFile = CreateConfigFile(tmpConfig);
440456
TVector<TString> args;
441457
PreFillArgs(args, configFile.Name());
442458
args.push_back("--data-center");
@@ -449,4 +465,54 @@ Y_UNIT_TEST_SUITE(XdsBootstrapConfig) {
449465
UNIT_ASSERT_EQUAL(xdsBootstrap.GetNode().GetId(), "klg-000-localhost");
450466
UNIT_ASSERT_EQUAL(xdsBootstrap.GetNode().GetLocality().GetZone(), "dc-klg");
451467
}
468+
469+
Y_UNIT_TEST(CanCheckThatXdsBootstrapIsAbsent) {
470+
TString tmpConfig(config);
471+
tmpConfig.append(R"(
472+
grpc_config:
473+
port: 2135
474+
)");
475+
TTempFileHandle configFile = CreateConfigFile(tmpConfig);
476+
TVector<TString> args;
477+
PreFillArgs(args, configFile.Name());
478+
args.push_back("--data-center");
479+
args.push_back("dc-klg");
480+
NKikimrConfig::TAppConfig appConfig = TransformConfig(args, GetEnvMock(/*hostname*/"klg-000-localhost", /*fqdnHostName*/"klg-000-localhost"));
481+
482+
UNIT_ASSERT(appConfig.HasGRpcConfig());
483+
UNIT_ASSERT(!appConfig.GetGRpcConfig().HasXdsBootstrap());
484+
}
485+
486+
Y_UNIT_TEST(CanUseNodeIdFromYamlConfig) {
487+
TString tmpConfig(config);
488+
tmpConfig.append(R"(
489+
grpc_config:
490+
xds_bootstrap:
491+
xds_servers:
492+
- server_uri: "xds-provider.bootstrap.cloud-testing.yandex.net:18000"
493+
server_features:
494+
- "xds_v3"
495+
channel_creds:
496+
- type: "insecure"
497+
config: {"k1": "v1", "k2": "v2"}
498+
node:
499+
id: "test-node-id"
500+
cluster: "testing"
501+
meta: {"service": "ydb"}
502+
#locality:
503+
#zone: Try set zone as data center of ydb node instance
504+
)");
505+
TTempFileHandle configFile = CreateConfigFile(tmpConfig);
506+
TVector<TString> args;
507+
PreFillArgs(args, configFile.Name());
508+
args.push_back("--data-center");
509+
args.push_back("dc-klg");
510+
NKikimrConfig::TAppConfig appConfig = TransformConfig(args, GetEnvMock(/*hostname*/"klg-000-localhost", /*fqdnHostName*/"klg-000-localhost"));
511+
512+
UNIT_ASSERT(appConfig.HasGRpcConfig());
513+
UNIT_ASSERT(appConfig.GetGRpcConfig().HasXdsBootstrap());
514+
const auto& xdsBootstrap = appConfig.GetGRpcConfig().GetXdsBootstrap();
515+
UNIT_ASSERT_EQUAL(xdsBootstrap.GetNode().GetId(), "test-node-id");
516+
UNIT_ASSERT_EQUAL(xdsBootstrap.GetNode().GetLocality().GetZone(), "dc-klg");
517+
}
452518
}

ydb/core/driver_lib/run/run_ut.cpp

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,18 @@ class TTestKikimrRunner : public TKikimrRunner {
2222
const TString XDS_BOOTSTRAP_ENV = "GRPC_XDS_BOOTSTRAP";
2323
const TString XDS_BOOTSTRAP_CONFIG_ENV = "GRPC_XDS_BOOTSTRAP_CONFIG";
2424

25+
Y_UNIT_TEST(CanNotSetEnvIfXdsBootstrapConfigIsAbsent) {
26+
NKikimrConfig::TAppConfig appConfig;
27+
TTestKikimrRunner::InitXdsBootstrapConfig(appConfig);
28+
TString jsonXdsBootstrapConfig = GetEnv(XDS_BOOTSTRAP_CONFIG_ENV);
29+
UNIT_ASSERT_STRINGS_EQUAL_C(jsonXdsBootstrapConfig, "", "The checked value: " + jsonXdsBootstrapConfig);
30+
}
31+
2532
Y_UNIT_TEST(CanSetGrpcXdsBootstrapConfigEnv) {
2633
NKikimrConfig::TAppConfig appConfig;
2734
auto* xdsBootstrapConfig = appConfig.MutableGRpcConfig()->MutableXdsBootstrap();
2835
auto* xdsServers = xdsBootstrapConfig->AddXdsServers();
29-
xdsServers->SetServerUri("xds-provider.bootstrap.cloud-testing.yandex.net:18000");
36+
xdsServers->SetServerUri("xds-provider.bootstrap.my-company.net:18000");
3037
*xdsServers->AddServerFeatures() = "xds_v3";
3138
auto* channelCreds = xdsServers->AddChannelCreds();
3239
channelCreds->SetType("insecure");
@@ -38,7 +45,38 @@ Y_UNIT_TEST(CanSetGrpcXdsBootstrapConfigEnv) {
3845
node->MutableLocality()->SetZone("test-zone");
3946

4047
TTestKikimrRunner::InitXdsBootstrapConfig(appConfig);
41-
const TString expectedJson = R"({"node":{"cluster":"testing","locality":{"zone":"test-zone"},"metadata":{"service":"ydb"},"id":"dc-000-host"},"xds_servers":[{"channel_creds":[{"config":{"k2":"v2","k1":"v1"},"type":"insecure"}],"server_uri":"xds-provider.bootstrap.cloud-testing.yandex.net:18000","server_features":["xds_v3"]}]})";
48+
const TString expectedJson = R"({"node":{"cluster":"testing","locality":{"zone":"test-zone"},"metadata":{"service":"ydb"},"id":"dc-000-host"},"xds_servers":[{"channel_creds":[{"config":{"k2":"v2","k1":"v1"},"type":"insecure"}],"server_uri":"xds-provider.bootstrap.my-company.net:18000","server_features":["xds_v3"]}]})";
49+
TString jsonXdsBootstrapConfig = GetEnv(XDS_BOOTSTRAP_CONFIG_ENV);
50+
UNIT_ASSERT_STRINGS_EQUAL_C(jsonXdsBootstrapConfig, expectedJson, "The checked value: " + jsonXdsBootstrapConfig);
51+
}
52+
53+
Y_UNIT_TEST(CanSetGrpcXdsBootstrapConfigEnvWithSomeNumbersXdsServers) {
54+
NKikimrConfig::TAppConfig appConfig;
55+
auto* xdsBootstrapConfig = appConfig.MutableGRpcConfig()->MutableXdsBootstrap();
56+
{
57+
auto* xdsServers = xdsBootstrapConfig->AddXdsServers();
58+
xdsServers->SetServerUri("xds-provider-000.bootstrap.my-company.net:18000");
59+
*xdsServers->AddServerFeatures() = "xds_v3";
60+
auto* channelCreds = xdsServers->AddChannelCreds();
61+
channelCreds->SetType("insecure");
62+
channelCreds->SetConfig("{\"k1\": \"v1\", \"k2\": \"v2\"}");
63+
}
64+
{
65+
auto* xdsServers = xdsBootstrapConfig->AddXdsServers();
66+
xdsServers->SetServerUri("xds-provider-001.bootstrap.my-company.net:18000");
67+
*xdsServers->AddServerFeatures() = "xds_v3";
68+
auto* channelCreds = xdsServers->AddChannelCreds();
69+
channelCreds->SetType("secure");
70+
channelCreds->SetConfig("{\"k1\": \"v11\", \"k2\": \"v21\"}");
71+
}
72+
auto* node = xdsBootstrapConfig->MutableNode();
73+
node->SetId("dc-000-host");
74+
node->SetCluster("testing");
75+
node->SetMeta("{\"service\": \"ydb\"}");
76+
node->MutableLocality()->SetZone("test-zone");
77+
78+
TTestKikimrRunner::InitXdsBootstrapConfig(appConfig);
79+
const TString expectedJson = R"({"node":{"cluster":"testing","locality":{"zone":"test-zone"},"metadata":{"service":"ydb"},"id":"dc-000-host"},"xds_servers":[{"channel_creds":[{"config":{"k2":"v2","k1":"v1"},"type":"insecure"}],"server_uri":"xds-provider-000.bootstrap.my-company.net:18000","server_features":["xds_v3"]},{"channel_creds":[{"config":{"k2":"v21","k1":"v11"},"type":"secure"}],"server_uri":"xds-provider-001.bootstrap.my-company.net:18000","server_features":["xds_v3"]}]})";
4280
TString jsonXdsBootstrapConfig = GetEnv(XDS_BOOTSTRAP_CONFIG_ENV);
4381
UNIT_ASSERT_STRINGS_EQUAL_C(jsonXdsBootstrapConfig, expectedJson, "The checked value: " + jsonXdsBootstrapConfig);
4482
}

0 commit comments

Comments
 (0)