@@ -22,11 +22,18 @@ class TTestKikimrRunner : public TKikimrRunner {
2222const TString XDS_BOOTSTRAP_ENV = " GRPC_XDS_BOOTSTRAP" ;
2323const 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+
2532Y_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