tests: use decorators to label test data generators

Also various minor cleanups

Change-Id: Iaee434991b923abdf464293fec35da22d6cb449a
diff --git a/tests/unit/security/validation-policy-signed-interest.t.cpp b/tests/unit/security/validation-policy-signed-interest.t.cpp
index 2cd91a7..75d1f5e 100644
--- a/tests/unit/security/validation-policy-signed-interest.t.cpp
+++ b/tests/unit/security/validation-policy-signed-interest.t.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2023 Regents of the University of California.
+ * Copyright (c) 2013-2024 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -22,7 +22,6 @@
 #include "ndn-cxx/security/validation-policy-signed-interest.hpp"
 
 #include "ndn-cxx/security/interest-signer.hpp"
-#include "ndn-cxx/security/validation-policy-accept-all.hpp"
 #include "ndn-cxx/security/validation-policy-simple-hierarchy.hpp"
 
 #include "tests/test-common.hpp"
@@ -38,47 +37,46 @@
 
 struct SignedInterestDefaultOptions
 {
-  static ValidationPolicySignedInterest::Options
+  static auto
   getOptions()
   {
-    return {};
+    return ValidationPolicySignedInterest::Options{};
   }
 };
 
-template<class T, class InnerPolicy>
+template<class ValidationOptions, class InnerPolicy>
 class SignedInterestPolicyWrapper : public ValidationPolicySignedInterest
 {
 public:
   SignedInterestPolicyWrapper()
-    : ValidationPolicySignedInterest(make_unique<InnerPolicy>(), T::getOptions())
+    : ValidationPolicySignedInterest(make_unique<InnerPolicy>(), ValidationOptions::getOptions())
   {
   }
 };
 
-template<class T, class InnerPolicy = ValidationPolicySimpleHierarchy>
+template<class ValidationOptions = SignedInterestDefaultOptions,
+         class InnerPolicy = ValidationPolicySimpleHierarchy>
 class ValidationPolicySignedInterestFixture
-  : public HierarchicalValidatorFixture<SignedInterestPolicyWrapper<T, InnerPolicy>>
+  : public HierarchicalValidatorFixture<SignedInterestPolicyWrapper<ValidationOptions, InnerPolicy>>
 {
 protected:
   Interest
-  makeSignedInterest(const Identity& identity,
+  makeSignedInterest(const Identity& id,
                      uint32_t signingFlags = InterestSigner::WantNonce | InterestSigner::WantTime)
   {
-    Interest i(Name(identity.getName()).append("CMD"));
-    m_signer.makeSignedInterest(i, signingByIdentity(identity), signingFlags);
-    return i;
+    Interest interest(Name(id.getName()).append("CMD"));
+    m_signer.makeSignedInterest(interest, signingByIdentity(id), signingFlags);
+    return interest;
   }
 
 protected:
   InterestSigner m_signer{this->m_keyChain};
-
   static constexpr uint32_t WantAll = InterestSigner::WantNonce |
-                                        InterestSigner::WantTime |
-                                        InterestSigner::WantSeqNum;
+                                      InterestSigner::WantTime |
+                                      InterestSigner::WantSeqNum;
 };
 
-BOOST_FIXTURE_TEST_SUITE(TestValidationPolicySignedInterest,
-                         ValidationPolicySignedInterestFixture<SignedInterestDefaultOptions>)
+BOOST_FIXTURE_TEST_SUITE(TestValidationPolicySignedInterest, ValidationPolicySignedInterestFixture<>)
 
 BOOST_AUTO_TEST_CASE(Basic)
 {
@@ -114,7 +112,7 @@
 template<ssize_t count>
 struct MaxRecordCount
 {
-  static ValidationPolicySignedInterest::Options
+  static auto
   getOptions()
   {
     ValidationPolicySignedInterest::Options options;
@@ -194,6 +192,29 @@
   VALIDATE_SUCCESS(i1, "Should succeed despite timestamp reordering, as records aren't kept");
 }
 
+struct DisabledTimestampValidation
+{
+  static auto
+  getOptions()
+  {
+    ValidationPolicySignedInterest::Options options;
+    options.shouldValidateTimestamps = false;
+    return options;
+  }
+};
+
+template<int secs>
+struct GracePeriodSeconds
+{
+  static auto
+  getOptions()
+  {
+    ValidationPolicySignedInterest::Options options;
+    options.timestampGracePeriod = time::seconds(secs);
+    return options;
+  }
+};
+
 BOOST_AUTO_TEST_SUITE(TimestampValidation)
 
 BOOST_AUTO_TEST_CASE(MissingTimestamp)
@@ -203,19 +224,7 @@
   BOOST_TEST(lastError.getCode() == ValidationError::POLICY_ERROR);
 }
 
-struct DisabledTimestampValidationOptions
-{
-  static ValidationPolicySignedInterest::Options
-  getOptions()
-  {
-    ValidationPolicySignedInterest::Options options;
-    options.shouldValidateTimestamps = false;
-    return options;
-  }
-};
-
-BOOST_FIXTURE_TEST_CASE(Disabled,
-                        ValidationPolicySignedInterestFixture<DisabledTimestampValidationOptions>)
+BOOST_FIXTURE_TEST_CASE(Disabled, ValidationPolicySignedInterestFixture<DisabledTimestampValidation>)
 {
   auto i1 = makeSignedInterest(identity); // signed at 0ms
   advanceClocks(100_ms);
@@ -229,18 +238,6 @@
   VALIDATE_SUCCESS(i2, "Should succeed");
 }
 
-template<int secs>
-struct GracePeriodSeconds
-{
-  static ValidationPolicySignedInterest::Options
-  getOptions()
-  {
-    ValidationPolicySignedInterest::Options options;
-    options.timestampGracePeriod = time::seconds(secs);
-    return options;
-  }
-};
-
 BOOST_FIXTURE_TEST_CASE(TimestampTooOld, ValidationPolicySignedInterestFixture<GracePeriodSeconds<15>>)
 {
   auto i1 = makeSignedInterest(identity); // signed at 0s
@@ -346,6 +343,17 @@
 
 BOOST_AUTO_TEST_SUITE_END() // TimestampValidation
 
+struct EnabledSeqNumValidation
+{
+  static auto
+  getOptions()
+  {
+    ValidationPolicySignedInterest::Options options;
+    options.shouldValidateSeqNums = true;
+    return options;
+  }
+};
+
 BOOST_AUTO_TEST_SUITE(SeqNumValidation)
 
 // By default, sequence number validation is disabled
@@ -362,27 +370,14 @@
   VALIDATE_SUCCESS(i2, "Should succeed");
 }
 
-struct SeqNumValidationOptions
-{
-  static ValidationPolicySignedInterest::Options
-  getOptions()
-  {
-    ValidationPolicySignedInterest::Options options;
-    options.shouldValidateSeqNums = true;
-    return options;
-  }
-};
-
-BOOST_FIXTURE_TEST_CASE(MissingSeqNum,
-                        ValidationPolicySignedInterestFixture<SeqNumValidationOptions>)
+BOOST_FIXTURE_TEST_CASE(MissingSeqNum, ValidationPolicySignedInterestFixture<EnabledSeqNumValidation>)
 {
   auto i1 = makeSignedInterest(identity, InterestSigner::WantTime);
   VALIDATE_FAILURE(i1, "Should fail (sequence number missing");
   BOOST_TEST(lastError.getCode() == ValidationError::POLICY_ERROR);
 }
 
-BOOST_FIXTURE_TEST_CASE(SeqNumReorder,
-                        ValidationPolicySignedInterestFixture<SeqNumValidationOptions>)
+BOOST_FIXTURE_TEST_CASE(SeqNumReorder, ValidationPolicySignedInterestFixture<EnabledSeqNumValidation>)
 {
   auto i1 = makeSignedInterest(identity, WantAll); // seq num is i
   VALIDATE_SUCCESS(i1, "Should succeed");
@@ -400,6 +395,31 @@
 
 BOOST_AUTO_TEST_SUITE_END() // SeqNumValidation
 
+struct DisabledNonceValidation
+{
+  static auto
+  getOptions()
+  {
+    ValidationPolicySignedInterest::Options options;
+    options.shouldValidateNonces = false;
+    return options;
+  }
+};
+
+template<ssize_t count>
+struct MaxNonceRecordCount
+{
+  static auto
+  getOptions()
+  {
+    ValidationPolicySignedInterest::Options options;
+    options.shouldValidateTimestamps = false;
+    options.shouldValidateSeqNums = false;
+    options.maxNonceRecordCount = count;
+    return options;
+  }
+};
+
 BOOST_AUTO_TEST_SUITE(NonceValidation)
 
 BOOST_AUTO_TEST_CASE(MissingNonce)
@@ -429,19 +449,7 @@
   VALIDATE_SUCCESS(i3, "Should succeed");
 }
 
-struct DisabledNonceValidationOptions
-{
-  static ValidationPolicySignedInterest::Options
-  getOptions()
-  {
-    ValidationPolicySignedInterest::Options options;
-    options.shouldValidateNonces = false;
-    return options;
-  }
-};
-
-BOOST_FIXTURE_TEST_CASE(Disabled,
-                        ValidationPolicySignedInterestFixture<DisabledNonceValidationOptions>)
+BOOST_FIXTURE_TEST_CASE(Disabled, ValidationPolicySignedInterestFixture<DisabledNonceValidation>)
 {
   auto i1 = makeSignedInterest(identity, WantAll ^ InterestSigner::WantNonce);
   VALIDATE_SUCCESS(i1, "Should succeed");
@@ -460,21 +468,7 @@
   VALIDATE_SUCCESS(i3, "Should succeed");
 }
 
-struct NonceLimit2Options
-{
-  static ValidationPolicySignedInterest::Options
-  getOptions()
-  {
-    ValidationPolicySignedInterest::Options options;
-    options.shouldValidateTimestamps = false;
-    options.shouldValidateSeqNums = false;
-    options.maxNonceRecordCount = 2;
-    return options;
-  }
-};
-
-BOOST_FIXTURE_TEST_CASE(NonceRecordLimit,
-                        ValidationPolicySignedInterestFixture<NonceLimit2Options>)
+BOOST_FIXTURE_TEST_CASE(NonceRecordLimit, ValidationPolicySignedInterestFixture<MaxNonceRecordCount<2>>)
 {
   auto i1 = makeSignedInterest(identity, WantAll);
   VALIDATE_SUCCESS(i1, "Should succeed");