@@ -29,50 +29,56 @@ Y_UNIT_TEST_SUITE(DnsResolver) {
2929 };
3030
3131 Y_UNIT_TEST (ResolveLocalHost) {
32- for (auto type : { EDnsResolverType::Ares, EDnsResolverType::Libc }) {
33- TSimpleDnsResolverOptions options { .Type = type };
34- TTestActorRuntimeBase runtime;
35- runtime.Initialize ();
36- auto sender = runtime.AllocateEdgeActor ();
37- auto resolver = runtime.Register (CreateSimpleDnsResolver (options));
38- runtime.Send (new IEventHandle (resolver, sender, new TEvDns::TEvGetHostByName (" localhost" , AF_UNSPEC)),
39- 0 , true );
40- auto ev = runtime.GrabEdgeEventRethrow <TEvDns::TEvGetHostByNameResult>(sender);
41- UNIT_ASSERT_VALUES_EQUAL_C (ev->Get ()->Status , 0 , ev->Get ()->ErrorText );
42- size_t addrs = ev->Get ()->AddrsV4 .size () + ev->Get ()->AddrsV6 .size ();
43- UNIT_ASSERT_C (addrs > 0 , " Got " << addrs << " addresses" );
32+ for (auto addTrailingDot : { true , false }) {
33+ for (auto type : { EDnsResolverType::Ares, EDnsResolverType::Libc }) {
34+ TSimpleDnsResolverOptions options { .Type = type, .AddTrailingDot = addTrailingDot };
35+ TTestActorRuntimeBase runtime;
36+ runtime.Initialize ();
37+ auto sender = runtime.AllocateEdgeActor ();
38+ auto resolver = runtime.Register (CreateSimpleDnsResolver (options));
39+ runtime.Send (new IEventHandle (resolver, sender, new TEvDns::TEvGetHostByName (" localhost" , AF_UNSPEC)),
40+ 0 , true );
41+ auto ev = runtime.GrabEdgeEventRethrow <TEvDns::TEvGetHostByNameResult>(sender);
42+ UNIT_ASSERT_VALUES_EQUAL_C (ev->Get ()->Status , 0 , ev->Get ()->ErrorText );
43+ size_t addrs = ev->Get ()->AddrsV4 .size () + ev->Get ()->AddrsV6 .size ();
44+ UNIT_ASSERT_C (addrs > 0 , " Got " << addrs << " addresses" );
45+ }
4446 }
4547 }
4648
4749 Y_UNIT_TEST (ResolveYandexRu) {
48- for (auto type : { EDnsResolverType::Ares, EDnsResolverType::Libc }) {
49- TSimpleDnsResolverOptions options { .Type = type };
50- TTestActorRuntimeBase runtime;
51- runtime.Initialize ();
52- auto sender = runtime.AllocateEdgeActor ();
53- auto resolver = runtime.Register (CreateSimpleDnsResolver (options));
54- runtime.Send (new IEventHandle (resolver, sender, new TEvDns::TEvGetHostByName (" yandex.ru" , AF_UNSPEC)),
55- 0 , true );
56- auto ev = runtime.GrabEdgeEventRethrow <TEvDns::TEvGetHostByNameResult>(sender);
57- UNIT_ASSERT_VALUES_EQUAL_C (ev->Get ()->Status , 0 , ev->Get ()->ErrorText );
58- size_t addrs = ev->Get ()->AddrsV4 .size () + ev->Get ()->AddrsV6 .size ();
59- UNIT_ASSERT_C (addrs > 0 , " Got " << addrs << " addresses" );
50+ for (auto addTrailingDot : { true , false }) {
51+ for (auto type : { EDnsResolverType::Ares, EDnsResolverType::Libc }) {
52+ TSimpleDnsResolverOptions options { .Type = type, .AddTrailingDot = addTrailingDot };
53+ TTestActorRuntimeBase runtime;
54+ runtime.Initialize ();
55+ auto sender = runtime.AllocateEdgeActor ();
56+ auto resolver = runtime.Register (CreateSimpleDnsResolver (options));
57+ runtime.Send (new IEventHandle (resolver, sender, new TEvDns::TEvGetHostByName (" yandex.ru" , AF_UNSPEC)),
58+ 0 , true );
59+ auto ev = runtime.GrabEdgeEventRethrow <TEvDns::TEvGetHostByNameResult>(sender);
60+ UNIT_ASSERT_VALUES_EQUAL_C (ev->Get ()->Status , 0 , ev->Get ()->ErrorText );
61+ size_t addrs = ev->Get ()->AddrsV4 .size () + ev->Get ()->AddrsV6 .size ();
62+ UNIT_ASSERT_C (addrs > 0 , " Got " << addrs << " addresses" );
63+ }
6064 }
6165 }
6266
6367 Y_UNIT_TEST (GetAddrYandexRu) {
64- for (auto type : { EDnsResolverType::Ares, EDnsResolverType::Libc }) {
65- TSimpleDnsResolverOptions options { .Type = type };
66- TTestActorRuntimeBase runtime;
67- runtime.Initialize ();
68- auto sender = runtime.AllocateEdgeActor ();
69- auto resolver = runtime.Register (CreateSimpleDnsResolver (options));
68+ for (auto addTrailingDot : { true , false }) {
69+ for (auto type : { EDnsResolverType::Ares, EDnsResolverType::Libc }) {
70+ TSimpleDnsResolverOptions options { .Type = type, .AddTrailingDot = addTrailingDot };
71+ TTestActorRuntimeBase runtime;
72+ runtime.Initialize ();
73+ auto sender = runtime.AllocateEdgeActor ();
74+ auto resolver = runtime.Register (CreateSimpleDnsResolver (options));
7075
71- runtime.Send (new IEventHandle (resolver, sender, new TEvDns::TEvGetAddr (" yandex.ru" , AF_UNSPEC)),
72- 0 , true );
73- auto ev = runtime.GrabEdgeEventRethrow <TEvDns::TEvGetAddrResult>(sender);
74- UNIT_ASSERT_VALUES_EQUAL_C (ev->Get ()->Status , 0 , ev->Get ()->ErrorText );
75- UNIT_ASSERT_C (ev->Get ()->IsV4 () || ev->Get ()->IsV6 (), " Expect v4 or v6 address" );
76+ runtime.Send (new IEventHandle (resolver, sender, new TEvDns::TEvGetAddr (" yandex.ru" , AF_UNSPEC)),
77+ 0 , true );
78+ auto ev = runtime.GrabEdgeEventRethrow <TEvDns::TEvGetAddrResult>(sender);
79+ UNIT_ASSERT_VALUES_EQUAL_C (ev->Get ()->Status , 0 , ev->Get ()->ErrorText );
80+ UNIT_ASSERT_C (ev->Get ()->IsV4 () || ev->Get ()->IsV6 (), " Expect v4 or v6 address" );
81+ }
7682 }
7783 }
7884
0 commit comments