[cpp-sp] branch main updated: Absolute Time rule tests.

Scott Cantor cantor.2 at osu.edu
Mon Oct 27 19:10:10 UTC 2025


This is an automated email from the git hooks/post-receive script.

scantor pushed a commit to branch main
in repository cpp-sp.

View the commit online:
https://git.shibboleth.net/view/?p=cpp-sp.git;a=commit;h=909b6ea01b8d765c6b5754d106e2a6ad8abc8e77

The following commit(s) were added to refs/heads/main by this push:
     new 909b6ea0 Absolute Time rule tests.
909b6ea0 is described below

commit 909b6ea01b8d765c6b5754d106e2a6ad8abc8e77
Author: Scott Cantor <cantor.2 at osu.edu>
AuthorDate: Mon Oct 27 15:10:05 2025 -0400

    Absolute Time rule tests.
---
 .../data/impl/acl/time/inline-new-time-invalid.xml |   4 +
 tests/data/impl/acl/time/inline-new-time-valid.xml |   4 +
 .../data/impl/acl/time/inline-old-time-invalid.xml |   4 +
 tests/data/impl/acl/time/inline-old-time-valid.xml |   4 +
 tests/impl/TimeAccessControlTests.cpp              | 131 ++-------------------
 5 files changed, 26 insertions(+), 121 deletions(-)

diff --git a/tests/data/impl/acl/time/inline-new-time-invalid.xml b/tests/data/impl/acl/time/inline-new-time-invalid.xml
new file mode 100644
index 00000000..7dc1a3bd
--- /dev/null
+++ b/tests/data/impl/acl/time/inline-new-time-invalid.xml
@@ -0,0 +1,4 @@
+<AccessControlProvider type="Time">
+        <Time>GT 3000-01-22T03:00:00Z</Time>
+</AccessControlProvider>
+
diff --git a/tests/data/impl/acl/time/inline-new-time-valid.xml b/tests/data/impl/acl/time/inline-new-time-valid.xml
new file mode 100644
index 00000000..ab0158ba
--- /dev/null
+++ b/tests/data/impl/acl/time/inline-new-time-valid.xml
@@ -0,0 +1,4 @@
+<AccessControlProvider type="Time">
+        <Time>LE 3000-01-22T03:00:00Z</Time>
+</AccessControlProvider>
+
diff --git a/tests/data/impl/acl/time/inline-old-time-invalid.xml b/tests/data/impl/acl/time/inline-old-time-invalid.xml
new file mode 100644
index 00000000..5fa20340
--- /dev/null
+++ b/tests/data/impl/acl/time/inline-old-time-invalid.xml
@@ -0,0 +1,4 @@
+<AccessControlProvider type="Time">
+        <Time>LE 2025-01-22T03:00:00Z</Time>
+</AccessControlProvider>
+
diff --git a/tests/data/impl/acl/time/inline-old-time-valid.xml b/tests/data/impl/acl/time/inline-old-time-valid.xml
new file mode 100644
index 00000000..9b826675
--- /dev/null
+++ b/tests/data/impl/acl/time/inline-old-time-valid.xml
@@ -0,0 +1,4 @@
+<AccessControlProvider type="Time">
+        <Time>GT 2025-01-22T03:00:00Z</Time>
+</AccessControlProvider>
+
diff --git a/tests/impl/TimeAccessControlTests.cpp b/tests/impl/TimeAccessControlTests.cpp
index 8f1ec50f..34dd5aa9 100644
--- a/tests/impl/TimeAccessControlTests.cpp
+++ b/tests/impl/TimeAccessControlTests.cpp
@@ -152,7 +152,7 @@ BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_invalid_internal, TimeAccessCon
 }
 
 /////////////
-// Inline ACL test for user rule.
+// Inline ACL test for TimeSinceAuthn rule.
 /////////////
 
 BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_TimeSinceAuthn, TimeAccessControlFixture)
@@ -184,15 +184,13 @@ BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_TimeSinceAuthn, TimeAccessContr
     BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
 }
 
-/*
-
 /////////////
-// Inline ACL test for user regex rule.
+// Inline ACL tests for absolute Time rule.
 /////////////
 
-BOOST_FIXTURE_TEST_CASE(XMLAccessControl_inline_UserRegexRule, XMLAccessControlFixture)
+BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_OldTimeValid, TimeAccessControlFixture)
 {
-    parse("inline-user-regex-acl.xml");
+    parse("inline-old-time-valid.xml");
     BOOST_CHECK_EQUAL(tree.size(), 1);
 
     unique_ptr<AccessControl> acl(AgentConfig::getConfig().AccessControlManager.newPlugin(
@@ -205,23 +203,12 @@ BOOST_FIXTURE_TEST_CASE(XMLAccessControl_inline_UserRegexRule, XMLAccessControlF
     MappableDummyRequest request;
     DummySession session;
 
-    request.m_user = "smith";
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    request.m_user = "extrajdoe";
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    request.m_user = "jdoe";
     BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
 }
 
-/////////////
-// Inline ACL test for authnContextClassRef rule.
-/////////////
-
-BOOST_FIXTURE_TEST_CASE(XMLAccessControl_inline_ACRule, XMLAccessControlFixture)
+BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_OldTimeInvalid, TimeAccessControlFixture)
 {
-    parse("inline-ac-acl.xml");
+    parse("inline-old-time-invalid.xml");
     BOOST_CHECK_EQUAL(tree.size(), 1);
 
     unique_ptr<AccessControl> acl(AgentConfig::getConfig().AccessControlManager.newPlugin(
@@ -234,24 +221,12 @@ BOOST_FIXTURE_TEST_CASE(XMLAccessControl_inline_ACRule, XMLAccessControlFixture)
     MappableDummyRequest request;
     DummySession session;
 
-    DDF ac("Shib-AuthnContext-Class");
-    ac.list();
-    ac.add(DDF(nullptr).string("Foo"));
-    session.m_attributes[ac.name()] = ac;
-
     BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    ac.add(DDF(nullptr).string("urn:oasis:names:tc:SAML:2.0:ac:classes:TimeSyncToken"));
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
 }
 
-/////////////
-// Inline ACL test for attribute rule.
-/////////////
-
-BOOST_FIXTURE_TEST_CASE(XMLAccessControl_inline_AttrRule, XMLAccessControlFixture)
+BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_NewTimeValid, TimeAccessControlFixture)
 {
-    parse("inline-attr-acl.xml");
+    parse("inline-new-time-valid.xml");
     BOOST_CHECK_EQUAL(tree.size(), 1);
 
     unique_ptr<AccessControl> acl(AgentConfig::getConfig().AccessControlManager.newPlugin(
@@ -264,26 +239,12 @@ BOOST_FIXTURE_TEST_CASE(XMLAccessControl_inline_AttrRule, XMLAccessControlFixtur
     MappableDummyRequest request;
     DummySession session;
 
-    DDF affiliation("affiliation");
-    affiliation.list();
-    session.m_attributes[affiliation.name()] = affiliation;
-
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    affiliation.add(DDF(nullptr).string("staff"));
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    affiliation.add(DDF(nullptr).string("student"));
     BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
 }
 
-/////////////
-// External ACL test for OR operator
-/////////////
-
-BOOST_FIXTURE_TEST_CASE(XMLAccessControl_external_OR, XMLAccessControlFixture)
+BOOST_FIXTURE_TEST_CASE(TimeAccessControl_inline_NewTimeInvalid, TimeAccessControlFixture)
 {
-    parse("external-or-acl.xml");
+    parse("inline-new-time-invalid.xml");
     BOOST_CHECK_EQUAL(tree.size(), 1);
 
     unique_ptr<AccessControl> acl(AgentConfig::getConfig().AccessControlManager.newPlugin(
@@ -296,79 +257,7 @@ BOOST_FIXTURE_TEST_CASE(XMLAccessControl_external_OR, XMLAccessControlFixture)
     MappableDummyRequest request;
     DummySession session;
 
-    request.m_user = "jdoe";
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
-
-    request.m_user = "smith";
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    DDF affiliation("affiliation");
-    affiliation.list();
-    affiliation.add(DDF(nullptr).string("student"));
-    session.m_attributes[affiliation.name()] = affiliation;
-
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
-}
-
-/////////////
-// External ACL test for AND operator
-/////////////
-
-BOOST_FIXTURE_TEST_CASE(XMLAccessControl_external_AND, XMLAccessControlFixture)
-{
-    parse("external-and-acl.xml");
-    BOOST_CHECK_EQUAL(tree.size(), 1);
-
-    unique_ptr<AccessControl> acl(AgentConfig::getConfig().AccessControlManager.newPlugin(
-        tree.front().second.get<string>("<xmlattr>.type").c_str(), tree.front().second, true));
-
-#ifdef HAVE_CXX14
-    shared_lock locker(*acl);
-#endif
-
-    MappableDummyRequest request;
-    DummySession session;
-
-    request.m_user = "jdoe";
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
-
-    DDF affiliation("affiliation");
-    affiliation.list();
-    affiliation.add(DDF(nullptr).string("student"));
-    session.m_attributes[affiliation.name()] = affiliation;
-
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
-}
-
-/////////////
-// External ACL test for NOT operator
-/////////////
-
-BOOST_FIXTURE_TEST_CASE(XMLAccessControl_external_NOT, XMLAccessControlFixture)
-{
-    parse("external-not-acl.xml");
-    BOOST_CHECK_EQUAL(tree.size(), 1);
-
-    unique_ptr<AccessControl> acl(AgentConfig::getConfig().AccessControlManager.newPlugin(
-        tree.front().second.get<string>("<xmlattr>.type").c_str(), tree.front().second, true));
-
-#ifdef HAVE_CXX14
-    shared_lock locker(*acl);
-#endif
-
-    MappableDummyRequest request;
-    DummySession session;
-
-    DDF affiliation("affiliation");
-    affiliation.list();
-    session.m_attributes[affiliation.name()] = affiliation;
-
-    BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_true);
-
-    affiliation.add(DDF(nullptr).string("student"));
-
     BOOST_CHECK_EQUAL(acl->authorized(request, &session), AccessControl::shib_acl_false);
 }
-*/
 
 };
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the commits mailing list