12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #include <config.h>
- #include <dhcpsrv/pgsql_exchange.h>
- #include <boost/lexical_cast.hpp>
- #include <gtest/gtest.h>
- using namespace isc;
- using namespace isc::dhcp;
- namespace {
- std::string timeToDbString(const time_t time_val) {
- struct tm tinfo;
- char buffer[20];
- localtime_r(&time_val, &tinfo);
- strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", &tinfo);
- return(std::string(buffer));
- }
- TEST(PgSqlExchangeTest, convertTimeTest) {
-
- time_t ref_time;
- time(&ref_time);
- std::string ref_time_str(timeToDbString(ref_time));
-
- std::string time_str = PgSqlExchange::convertToDatabaseTime(ref_time);
- EXPECT_EQ(time_str, ref_time_str);
-
-
- time_str = PgSqlExchange::convertToDatabaseTime(ref_time, 0);
- EXPECT_EQ(time_str, ref_time_str);
-
- ref_time_str = timeToDbString(ref_time + (24*3600));
- ASSERT_NO_THROW(time_str = PgSqlExchange::convertToDatabaseTime(ref_time,
- 24*3600));
- EXPECT_EQ(time_str, ref_time_str);
-
- ASSERT_THROW(PgSqlExchange::convertToDatabaseTime(DatabaseConnection::
- MAX_DB_TIME - 1,
- 24*3600),
- isc::BadValue);
-
- std::string ref_secs_str = boost::lexical_cast<std::string>(ref_time);
- time_t from_time = PgSqlExchange::convertFromDatabaseTime(ref_secs_str);
- from_time = PgSqlExchange::convertFromDatabaseTime(ref_secs_str);
- EXPECT_EQ(ref_time, from_time);
- }
- };
|