]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[gitlab9] Skeleton unit-tests for kea-netconf implemented.
authorTomek Mrugalski <tomasz@isc.org>
Fri, 10 Aug 2018 17:16:12 +0000 (19:16 +0200)
committerTomek Mrugalski <tomasz@isc.org>
Tue, 21 Aug 2018 10:18:56 +0000 (12:18 +0200)
src/bin/netconf/tests/Makefile.am
src/bin/netconf/tests/netconf_env_unittest.cc [new file with mode: 0644]
src/bin/netconf/tests/run_unittests.cc

index 7285f8daa03f769a7cce796503cf61bfd00fa0b5..5e3384a9ab4be544737121486f9b742cc3838b1a 100644 (file)
@@ -30,7 +30,8 @@ if HAVE_GTEST
 
 TESTS += netconf_unittests
 
-netconf_unittests_SOURCES  = netconf_unittest.cc
+netconf_unittests_SOURCES  = run_unittests.cc
+netconf_unittests_SOURCES += netconf_env_unittest.cc
 
 netconf_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
 netconf_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS)
@@ -52,12 +53,13 @@ netconf_unittests_LDADD = $(top_builddir)/src/bin/netconf/libnetconf.la
 #netconf_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la
 #netconf_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la
 #netconf_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la
+netconf_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la
 netconf_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la
 netconf_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la
 netconf_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la
 netconf_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
 netconf_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS)
-netconf_unittests_LDADD += $(BOOST_LIBS) $(GTEST_LDADD)
+netconf_unittests_LDADD += $(BOOST_LIBS) $(GTEST_LDADD) $(SYSREPO_LIBS)
 endif
 
 noinst_EXTRA_DIST = configs-list.txt
diff --git a/src/bin/netconf/tests/netconf_env_unittest.cc b/src/bin/netconf/tests/netconf_env_unittest.cc
new file mode 100644 (file)
index 0000000..7d4e212
--- /dev/null
@@ -0,0 +1,32 @@
+// Copyright (C) 2018 Internet Systems Consortium, Inc. ("ISC")
+//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+/// @brief Basic environment tests for netconf
+
+
+#include <sysrepo-cpp/Session.h>
+#include <gtest/gtest.h>
+
+class NetconfTest : public ::testing::Test {
+public:
+
+    NetconfTest() {}
+
+};
+
+// This test checks if a session to sysrepo can be established.
+// It uses sysrepo code directly, so it's a sanity check for the
+// environment. Doesn't test any Kea code.
+TEST_F(NetconfTest, environmentSanity) {
+
+    S_Connection conn;
+
+    ASSERT_NO_THROW(conn.reset(new Connection("kea-netconf")));
+
+    S_Session sess;
+
+    ASSERT_NO_THROW(sess.reset(new Session(conn)));
+}
index 172768f2e77d13fddf49fcd2d0e83648ab9a1727..c0847cad146034f3393e3a15649128bf0707b0ee 100644 (file)
@@ -6,21 +6,15 @@
 
 #include <config.h>
 
-#include <log/logger_support.h>
-#include <dhcp4/dhcp4_log.h>
 #include <gtest/gtest.h>
+#include <util/unittests/run_all.h>
+#include <log/logger_support.h>
 
 int
 main(int argc, char* argv[]) {
-
     ::testing::InitGoogleTest(&argc, argv);
 
-    // See the documentation of the KEA_* environment variables in
-    // src/lib/log/README for info on how to tweak logging
     isc::log::initLogger();
 
-    setenv("KEA_PIDFILE_DIR", TEST_DATA_BUILDDIR, 1);
-    int result = RUN_ALL_TESTS();
-
-    return (result);
+    return (isc::util::unittests::run_all());
 }