public void TimeRestriction_NotBefore_Invalid()
        {
            // Test with NotBefore that post-dates now 
            Assertion saml20Assertion = AssertionUtil.GetBasicAssertion();
            saml20Assertion.Conditions.NotBefore = DateTime.Now.AddDays(1);
            saml20Assertion.Conditions.NotOnOrAfter = null;

            Saml20AssertionValidator validator = new Saml20AssertionValidator(AssertionUtil.GetAudiences(), false);
            validator.ValidateTimeRestrictions(saml20Assertion, new TimeSpan());
        }
        public void TimeRestriction_NotOnOrAfter_Invalid_Now()
        {
            Assertion saml20Assertion = AssertionUtil.GetBasicAssertion();
            // Test with NotOnOrAfter that pre-dates now 
            saml20Assertion.Conditions.NotBefore = null;
            saml20Assertion.Conditions.NotOnOrAfter = DateTime.UtcNow;

            Saml20AssertionValidator validator = new Saml20AssertionValidator(AssertionUtil.GetAudiences(), false);
            validator.ValidateTimeRestrictions(saml20Assertion, new TimeSpan());
        }
        public void AuthnStatement_Invalid_SessionNotOnOrAfter()
        {
            Assertion saml20Assertion = AssertionUtil.GetBasicAssertion();
            List<StatementAbstract> statements = new List<StatementAbstract>(saml20Assertion.Items);
            AuthnStatement sas = new AuthnStatement();
            sas.AuthnInstant = DateTime.UtcNow;
            sas.SessionNotOnOrAfter = DateTime.UtcNow.AddHours(-1);
            statements.Add(sas);

            saml20Assertion.Items = statements.ToArray();

            Saml20AssertionValidator validator = new Saml20AssertionValidator(AssertionUtil.GetAudiences(), false);
            validator.ValidateTimeRestrictions(saml20Assertion, new TimeSpan(0, 0, 0));
        }