[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