From dfcb11f203cf387fff18e13f3392919f62828780 Mon Sep 17 00:00:00 2001 From: Maxime Besson Date: Fri, 2 Sep 2022 15:51:27 +0200 Subject: [PATCH] Unit test for samlBuildAuthnResponse --- lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t | 9 ++++++++- lemonldap-ng-portal/t/SamlHookPlugin.pm | 9 +++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t index cb6df5c63..45120ed92 100644 --- a/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t +++ b/lemonldap-ng-portal/t/30-Auth-and-issuer-SAML-POST.t @@ -11,7 +11,7 @@ BEGIN { require 't/saml-lib.pm'; } -my $maintests = 25; +my $maintests = 27; my $debug = 'error'; my ( $issuer, $sp, $res ); @@ -144,6 +144,13 @@ SKIP: { expectAutoPost( $res, 'auth.sp.com', '/saml/proxySingleSignOnPost', 'SAMLResponse' ); + my $resp = expectSamlResponse($s); + like( + $resp, + qr/AuthnInstant="2000-01-01T00:00:01Z"/, + "Found AuthnInstant modified by hook" + ); + $pdata_hash = expectPdata($res); is( $pdata_hash->{gotRequestHookCalled}, 1, 'samlGotRequestHookCalled called' ); diff --git a/lemonldap-ng-portal/t/SamlHookPlugin.pm b/lemonldap-ng-portal/t/SamlHookPlugin.pm index 0272ef341..7eced2bdf 100644 --- a/lemonldap-ng-portal/t/SamlHookPlugin.pm +++ b/lemonldap-ng-portal/t/SamlHookPlugin.pm @@ -7,8 +7,17 @@ use constant hook => { samlGotAuthnRequest => 'gotRequest', samlGenerateAuthnRequest => 'genRequest', samlGotAuthnResponse => 'gotResponse', + samlBuildAuthnResponse => 'genResponse', }; +sub genResponse { + my ( $self, $req, $login ) = @_; + use Test::More; + $login->response->Assertion->AuthnStatement->AuthnInstant( + "2000-01-01T00:00:01Z"); + return 0; +} + sub gotRequest { my ( $self, $req, $login ) = @_;