// setup logging so we can see output from out code
I2n::Logger::enable_stderr_log( true );
- I2n::Logger::set_log_level( I2n::Logger::LogLevel::Debug );
+ I2n::Logger::set_log_level( I2n::Logger::LogLevel::Info );
I2n::Logger::GlobalLogger.info() << "Logging enabled for DnsTest";
// IoService
HostAddressVec ips = Cache->get_ips("host1.test");
BOOST_CHECK_EQUAL( ips.size(), 1 );
HostAddress ip = ips.front();
+ BOOST_CHECK( ip.is_valid() );
BOOST_CHECK_EQUAL( ip.get_ip().to_string(), "192.168.42.1" );
BOOST_CHECK_EQUAL( ip.get_ttl().get_value(), 61 );
}
HostAddressVec ips = Cache->get_ips("host2_3.test");
BOOST_CHECK_EQUAL( ips.size(), 2 );
HostAddress ip = ips[0];
+ BOOST_CHECK( ip.is_valid() );
BOOST_CHECK_EQUAL( ip.get_ip().to_string(), "192.168.42.2" );
BOOST_CHECK_EQUAL( ip.get_ttl().get_value(), 92 );
ip = ips[1];
+ BOOST_CHECK( ip.is_valid() );
BOOST_CHECK_EQUAL( ip.get_ip().to_string(), "192.168.42.3" );
BOOST_CHECK_EQUAL( ip.get_ttl().get_value(), 93 );
}
HostAddressVec ips = Cache->get_ips_recursive("cname.test");
BOOST_CHECK_EQUAL( ips.size(), 1 );
HostAddress ip = ips.front();
+ BOOST_CHECK( ip.is_valid() );
BOOST_CHECK_EQUAL( ip.get_ip().to_string(), "192.168.42.1" );
BOOST_CHECK_EQUAL( ip.get_ttl().get_value(), 35 );
}
HostAddressVec ips = Cache->get_ips_recursive("cname3.test");
BOOST_CHECK_EQUAL( ips.size(), 1 );
HostAddress ip = ips.front();
+ BOOST_CHECK( ip.is_valid() );
BOOST_CHECK_EQUAL( ip.get_ip().to_string(), "192.168.42.1" );
BOOST_CHECK_EQUAL( ip.get_ttl().get_value(), 33 );
}
BOOST_CHECK_EQUAL( Cache->get_first_outdated_cname("host1.test", 5), "" );
}
+BOOST_AUTO_TEST_CASE( cache_load_test )
+{
+ std::stringstream file_name;
+ file_name << DATA_DIR_STRING << "/" << "dns_cache_example.xml";
+ BOOST_TEST_MESSAGE( "loading cache from file " << file_name.str() );
+ DnsCache loaded_cache( IoService, file_name.str() );
+ HostAddressVec ips = loaded_cache.get_ips("abc.xyz");
+ BOOST_CHECK_EQUAL( ips.size(), 1 );
+ HostAddress ip = ips.front();
+ BOOST_CHECK_EQUAL( ip.get_ip().to_string(), "11.22.33.44" );
+ BOOST_CHECK_EQUAL( ip.get_ttl().get_value(), 567 );
+ BOOST_CHECK_EQUAL( ip.get_ttl().get_updated_value(), 0 );
+
+ Cname cname = loaded_cache.get_cname("cname1.xyz");
+ BOOST_CHECK_EQUAL( cname.Host, "abc.xyz" );
+ BOOST_CHECK_EQUAL( cname.Ttl.get_value(), 27 );
+ BOOST_CHECK_EQUAL( cname.Ttl.get_updated_value(), 0 );
+
+ // not testing Ttl set time since is private
+}
+
BOOST_AUTO_TEST_SUITE_END() // of TestDnsCache
PingProtocol_ICMP);
BOOST_CHECK_EQUAL( resolver->get_hostname(), hostname );
BOOST_CHECK( !resolver->is_resolving() );
+ BOOST_CHECK( !resolver->is_waiting_to_resolve() );
// cancel should have no effect
resolver->cancel_resolve();
BOOST_CHECK( !resolver->is_resolving() );
+ BOOST_CHECK( !resolver->is_waiting_to_resolve() );
// should not have any ips since cache did not load anything
BOOST_CHECK_EQUAL( resolver->get_resolved_ip_count(), 0 );
std::string hostname = "www.intra2net.com";
ResolverItem resolver = Master->get_resolver_for(hostname,
PingProtocol_ICMP);
+ BOOST_CHECK( !resolver->is_resolving() );
+ BOOST_CHECK( !resolver->is_waiting_to_resolve() );
// set callback
callback_type callback = boost::bind( resolve_callback, IoService, resolver,
_1, _2 );
// start resolving
resolver->async_resolve(callback);
+ BOOST_CHECK( resolver->is_resolving() );
IoService->run();
// this will block until io service is stopped in resolve_callback