]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Run the credentials unit tests in the auth and rec as well
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 8 Apr 2021 16:19:43 +0000 (18:19 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 16 Sep 2021 12:12:27 +0000 (14:12 +0200)
pdns/Makefile.am
pdns/dnsdistdist/test-credentials_cc.cc [changed from file to symlink]
pdns/recursordist/Makefile.am
pdns/recursordist/test-credentials_cc.cc [new symlink]
pdns/test-credentials_cc.cc [new file with mode: 0644]

index 2eed01ecd6c564edd7ae032e60f51852d256100f..d521a2e36f7d217facf9ad028cc95fed8604ebf2 100644 (file)
@@ -1320,6 +1320,7 @@ testrunner_SOURCES = \
        base64.cc \
        bindlexer.l \
        bindparser.yy \
+       credentials.cc credentials.hh \
        dbdnsseckeeper.cc \
        dns.cc \
        dns_random.cc \
@@ -1366,6 +1367,7 @@ testrunner_SOURCES = \
        test-bindparser_cc.cc \
        test-common.hh \
        test-communicator_hh.cc \
+       test-credentials_cc.cc \
        test-digests_hh.cc \
        test-distributor_hh.cc \
        test-dns_random_hh.cc \
deleted file mode 100644 (file)
index c28067bc571557465a15a4303f6917af1bc976a6..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#define BOOST_TEST_DYN_LINK
-#define BOOST_TEST_NO_MAIN
-
-#include <boost/test/unit_test.hpp>
-
-#include "config.h"
-#include "credentials.hh"
-
-BOOST_AUTO_TEST_SUITE(credentials_cc)
-
-#ifdef HAVE_LIBSODIUM
-BOOST_AUTO_TEST_CASE(test_CredentialsUtils)
-{
-  const std::string plaintext("test");
-  /* generated with hashPassword("test") */
-  const std::string sampleHash("$argon2id$v=19$m=65536,t=2,p=1$ndQKu3+ZsWedqRrlNFUaNw$tnb0MJVe5C2hlqkDt0Ln3R6VKCYkfMYdxDy+puXes3s");
-
-  auto hashed = hashPassword(plaintext);
-  BOOST_CHECK(!hashed.empty());
-
-  BOOST_CHECK(verifyPassword(hashed, plaintext));
-  BOOST_CHECK(verifyPassword(sampleHash, plaintext));
-
-  BOOST_CHECK(!verifyPassword(hashed, "not test"));
-  BOOST_CHECK(!verifyPassword(sampleHash, "not test"));
-
-  BOOST_CHECK(isPasswordHashed(hashed));
-  BOOST_CHECK(isPasswordHashed(sampleHash));
-  BOOST_CHECK(!isPasswordHashed(plaintext));
-}
-#endif
-
-BOOST_AUTO_TEST_CASE(test_CredentialsHolder)
-{
-  const std::string plaintext("test");
-
-  auto holder = CredentialsHolder(std::string(plaintext));
-
-  BOOST_CHECK(holder.matches(plaintext));
-  BOOST_CHECK(!holder.matches("not test"));
-  BOOST_CHECK(!holder.wasHashed());
-
-#ifdef HAVE_LIBSODIUM
-  BOOST_CHECK(CredentialsHolder::isHashingAvailable());
-  const std::string sampleHash("$argon2id$v=19$m=65536,t=2,p=1$ndQKu3+ZsWedqRrlNFUaNw$tnb0MJVe5C2hlqkDt0Ln3R6VKCYkfMYdxDy+puXes3s");
-
-  auto fromHashedHolder = CredentialsHolder(std::string(sampleHash));
-  BOOST_CHECK(fromHashedHolder.wasHashed());
-  BOOST_CHECK(fromHashedHolder.matches(plaintext));
-  BOOST_CHECK(!fromHashedHolder.matches("not test"));
-#else
-  BOOST_CHECK(!CredentialsHolder::isHashingAvailable());
-#endif
-}
-
-BOOST_AUTO_TEST_SUITE_END()
new file mode 120000 (symlink)
index 0000000000000000000000000000000000000000..8f713318b2e2fe14ff4c136990336858275dd03e
--- /dev/null
@@ -0,0 +1 @@
+../test-credentials_cc.cc
\ No newline at end of file
index d4d49da8cce4ca78db931327d724ff2cccf4f3b6..3af8225c946bfbac2c78fe7137c4d012e5bffbde 100644 (file)
@@ -241,6 +241,7 @@ testrunner_SOURCES = \
        base32.cc \
        base64.cc base64.hh \
        circular_buffer.hh \
+       credentials.cc credentials.hh \
        dns.cc dns.hh \
        dns_random.cc dns_random.hh \
        dnslabeltext.cc \
@@ -291,6 +292,7 @@ testrunner_SOURCES = \
        test-base32_cc.cc \
        test-base64_cc.cc \
        test-common.hh \
+       test-credentials_cc.cc \
        test-dns_random_hh.cc \
        test-dnsname_cc.cc \
        test-dnsparser_hh.cc \
diff --git a/pdns/recursordist/test-credentials_cc.cc b/pdns/recursordist/test-credentials_cc.cc
new file mode 120000 (symlink)
index 0000000..8f71331
--- /dev/null
@@ -0,0 +1 @@
+../test-credentials_cc.cc
\ No newline at end of file
diff --git a/pdns/test-credentials_cc.cc b/pdns/test-credentials_cc.cc
new file mode 100644 (file)
index 0000000..c28067b
--- /dev/null
@@ -0,0 +1,57 @@
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_NO_MAIN
+
+#include <boost/test/unit_test.hpp>
+
+#include "config.h"
+#include "credentials.hh"
+
+BOOST_AUTO_TEST_SUITE(credentials_cc)
+
+#ifdef HAVE_LIBSODIUM
+BOOST_AUTO_TEST_CASE(test_CredentialsUtils)
+{
+  const std::string plaintext("test");
+  /* generated with hashPassword("test") */
+  const std::string sampleHash("$argon2id$v=19$m=65536,t=2,p=1$ndQKu3+ZsWedqRrlNFUaNw$tnb0MJVe5C2hlqkDt0Ln3R6VKCYkfMYdxDy+puXes3s");
+
+  auto hashed = hashPassword(plaintext);
+  BOOST_CHECK(!hashed.empty());
+
+  BOOST_CHECK(verifyPassword(hashed, plaintext));
+  BOOST_CHECK(verifyPassword(sampleHash, plaintext));
+
+  BOOST_CHECK(!verifyPassword(hashed, "not test"));
+  BOOST_CHECK(!verifyPassword(sampleHash, "not test"));
+
+  BOOST_CHECK(isPasswordHashed(hashed));
+  BOOST_CHECK(isPasswordHashed(sampleHash));
+  BOOST_CHECK(!isPasswordHashed(plaintext));
+}
+#endif
+
+BOOST_AUTO_TEST_CASE(test_CredentialsHolder)
+{
+  const std::string plaintext("test");
+
+  auto holder = CredentialsHolder(std::string(plaintext));
+
+  BOOST_CHECK(holder.matches(plaintext));
+  BOOST_CHECK(!holder.matches("not test"));
+  BOOST_CHECK(!holder.wasHashed());
+
+#ifdef HAVE_LIBSODIUM
+  BOOST_CHECK(CredentialsHolder::isHashingAvailable());
+  const std::string sampleHash("$argon2id$v=19$m=65536,t=2,p=1$ndQKu3+ZsWedqRrlNFUaNw$tnb0MJVe5C2hlqkDt0Ln3R6VKCYkfMYdxDy+puXes3s");
+
+  auto fromHashedHolder = CredentialsHolder(std::string(sampleHash));
+  BOOST_CHECK(fromHashedHolder.wasHashed());
+  BOOST_CHECK(fromHashedHolder.matches(plaintext));
+  BOOST_CHECK(!fromHashedHolder.matches("not test"));
+#else
+  BOOST_CHECK(!CredentialsHolder::isHashingAvailable());
+#endif
+}
+
+BOOST_AUTO_TEST_SUITE_END()