예제 #1
0
        public UnaryNotAssertion(IAssertion operand)
        {
            if (operand == null)
                throw new ArgumentNullException("operand");

            _operand = operand;
        }
예제 #2
0
        protected CompositeAssertion(IAssertion[] assertions)
        {
            if (assertions == null) 
                throw new ArgumentNullException("assertions");

            foreach (IAssertion assertion in assertions)
            {
                if (assertion == null)
                    throw new ArgumentException(null, "assertions");
            }

            InnerList.AddRange(assertions);
        }
예제 #3
0
 public static string AssertionToString(IAssertion assertion)
 {
   string assertionDisplay = "NULL";
   if (assertion != null) {
     assertionDisplay = string.Format(
       "ValidFromDate>{0}< " +
       "ValidUntilDate>{1}< " +
       "PrincipalName>{2}< " +
       "Attributes Count>{3}<",
       assertion.ValidFromDate, assertion.ValidUntilDate,
       assertion.PrincipalName, assertion.Attributes.Count);
   }
   return assertionDisplay;
 }
예제 #4
0
        /// <summary>
        /// Initializes the module and prepares it to handle requests.
        /// </summary>

        public virtual void Init(HttpApplication application)
        {
            if (application == null)
                throw new ArgumentNullException("application");
            
            var config = (ErrorFilterConfiguration) Configuration.GetSubsection("errorFilter");
            
            if (config == null)
                return;
            
            _assertion = config.Assertion;

            foreach (var module in HttpModuleRegistry.GetModules(application))
            {
                var filtering = module as IExceptionFiltering;

                if (filtering != null)
                    filtering.Filtering += OnErrorModuleFiltering;
            }
        }
예제 #5
0
 public static void Inconclusive(this IAssertion assertion, System.String message, System.Object[] parameters)
 {
     Assert.Inconclusive(message, parameters);
 }
예제 #6
0
 public static void Fail(this IAssertion assertion, System.String message, System.Object[] parameters)
 {
     Assert.Fail(message, parameters);
 }
예제 #7
0
        /// <summary>
        /// Constructs a new Principal backed by the supplied Assertion, with
        /// proxying capabilities.
        /// </summary>
        /// <param name="assertion">
        /// the Assertion that backs this Principal
        /// </param>
        /// <param name="proxyGrantingTicket">
        /// the proxy granting ticket associated with this Principal.
        /// </param>
        /// <param name="proxies">
        /// The proxy path associated with this Principal
        /// </param>
        public CasPrincipal(IAssertion assertion, string proxyGrantingTicket, IEnumerable<string> proxies) {
            Argument.ThrowIfNull(assertion, "assertion", "assertion cannot be null.");

            Identity = new GenericIdentity(assertion.PrincipalName, CAS_AUTH_TYPE);
            Assertion = assertion;
            ProxyGrantingTicket = proxyGrantingTicket;

            Proxies = proxies ?? Enumerable.Empty<string>();
        }
예제 #8
0
 internal void SetAssertion(IAssertion assertion)
 {
     _assertion = assertion != null ? assertion : StaticAssertion.False;
 }
예제 #9
0
 public virtual int IndexOf(IAssertion assertion)
 {
     return InnerList.IndexOf(assertion);
 }
예제 #10
0
 public virtual int IndexOf(IAssertion assertion)
 {
     return(InnerList.IndexOf(assertion));
 }
 public static Exception ThrowsAsync(this IAssertion assertion, Task task, ExceptionInheritanceOptions inheritOptions = ExceptionInheritanceOptions.Inherits)
 {
     return(ThrowsAsync <Exception>(task, null, ExceptionMessageCompareOptions.None, inheritOptions));
 }
예제 #12
0
 /// <summary>
 /// Add assertion to the list
 /// </summary>
 /// <param name="assertion"></param>
 public bool  Remove(IAssertion assertion)
 {
     return(_assertionsByName.Remove(assertion.Name));
 }
예제 #13
0
 public virtual bool Contains(IAssertion assertion)
 {
     return(InnerList.Contains(assertion));
 }
예제 #14
0
 /// <summary>
 /// Add assertion to the list
 /// </summary>
 /// <param name="assertion"></param>
 public void Add(IAssertion assertion)
 {
     _assertionsByName.Add(assertion.Name, assertion);
 }
 private static Exception IsTrueForAnyActHelper(IAssertion<IEnumerable<bool>> values)
 {
     return CollectionActHelper(values, CollectionExtensions.IsTrueForAny(values, v => v));
 }
        private static Exception CollectionActHelper(IAssertion<IEnumerable<bool>> values, IVerifiable<IEnumerable<bool>> action)
        {
            Exception x = null;
              try
              {
            action.Now();
              }
              catch (Exception e)
              {
            x = e;
              }

              return x;
        }
예제 #17
0
 public static void Inconclusive(this IAssertion assertion, System.String message)
 {
     Assert.Inconclusive(message);
 }
예제 #18
0
        /// <summary>
        /// Constructs a new Principal backed by the supplied Assertion, with proxying cabilities.
        /// </summary>
        /// <param name="assertion">the Assertion that backs this Principal</param>
        /// <param name="proxyGrantingTicket">
        /// the proxy granting ticket associated with this Principal.
        /// </param>
        /// <param name="proxyRetriever">
        /// the ProxyRetriever to call back to the CAS server.
        /// </param>
        public CasPrincipal(IAssertion assertion, 
                            string proxyGrantingTicket,
                            IProxyRetriever proxyRetriever)
        {
            CommonUtils.AssertNotNull(assertion, "assertion cannot be null.");

            this.Identity = new GenericIdentity(assertion.PrincipalName,
              CommonUtils.CAS_AUTH_TYPE);
            this.Assertion = assertion;
            this.proxyGrantingTicket = proxyGrantingTicket;
            this.proxyRetriever = proxyRetriever;
        }
예제 #19
0
    public static string AssertionToString(IAssertion assertion, string newLineDelim,
                                            string initialLineIndent,
                                            int initialLineIndentCount,
                                            string dataDelim,
                                            bool useDelimAlways)
    {
      StringBuilder sb = new StringBuilder();
      string lineIndent = GenerateLineIndent(initialLineIndent, initialLineIndentCount);
      sb.Append(string.Format("{0}Assertion:{1}", lineIndent, newLineDelim));
      int memberLineIndentCount = initialLineIndentCount + 2;
      string memberLineIndent =  GenerateLineIndent(initialLineIndent, memberLineIndentCount);

      if (assertion == null) {
        sb.Append(string.Format("{0}UNDEFINED{1}", memberLineIndent, newLineDelim));
      } else {
        sb.Append(string.Format("{0}ValidFromDate: {1}{2}", memberLineIndent,
                  DataNullEmptyDisplay(assertion.ValidFromDate.ToString(), dataDelim, useDelimAlways),
                  newLineDelim));
        sb.Append(string.Format("{0}ValidUntilDate: {1}{2}", memberLineIndent,
                  DataNullEmptyDisplay(assertion.ValidUntilDate.ToString(), dataDelim, useDelimAlways),
                  newLineDelim));
        sb.Append(string.Format("{0}PrincipalName: {1}{2}", memberLineIndent,
                  DataNullEmptyDisplay(assertion.PrincipalName, dataDelim, useDelimAlways), newLineDelim));
        sb.Append(AttributesToString(assertion.Attributes, newLineDelim, initialLineIndent, 
          memberLineIndentCount, dataDelim, useDelimAlways));
      }
      return sb.ToString();
    }
예제 #20
0
 public static IAssertionResult <T, TSource> Assert <T, TSource>(this IValueProvider <T, TSource> valueProvider, IAssertion <T> assertion, IAssertionConfiguration configuration)
 {
     return(Wait.Assertion(valueProvider, new AssertionConfiguration <T>
     {
         Timeout = configuration.Timeout,
         Interval = configuration.Interval,
         ExceptionMatcher = configuration.ExceptionMatcher,
         Assertion = assertion
     }));
 }
 public static T ThrowsAsync <T>(this IAssertion assertion, Task task, string expectedMessage, ExceptionMessageCompareOptions options, ExceptionInheritanceOptions inheritOptions = ExceptionInheritanceOptions.Inherits) where T : Exception
 {
     return(ThrowsAsync <T>(task, expectedMessage, options, inheritOptions));
 }
예제 #22
0
 /// <summary>
 /// Add assertion to the list
 /// </summary>
 /// <param name="assertion"></param>
 public bool Remove(IAssertion assertion)
 {
     return _assertionsByName.Remove(assertion.Name);
 }
        /// <summary>
        /// Public CasAuthenticationTicket constructor
        /// </summary>
        /// <param name="serviceTicket">CAS Service Ticket associated with this CasAuthenticationTicket</param>
        /// <param name="originatingServiceName">ServiceName used during CAS authentication/validation</param>
        /// <param name="clientHostAddress">IP address of the client initiating the authentication request</param>
        /// <param name="assertion">CAS assertion returned from the CAS server during ticket validation</param>
        public CasAuthenticationTicket(string serviceTicket, string originatingServiceName, string clientHostAddress, IAssertion assertion)
        {
            CasAuthentication.Initialize();
            Proxies = new List<string>();

            NetId = assertion.PrincipalName;
            ServiceTicket = serviceTicket;
            OriginatingServiceName = originatingServiceName;
            ClientHostAddress = clientHostAddress;
            Assertion = assertion;

            if (DateTime.MinValue.CompareTo(assertion.ValidFromDate) != 0)
            {
                ValidFromDate = assertion.ValidFromDate;
            }
            else
            {
                ValidFromDate = DateTime.Now;
            }

            DateTime localValidUntil = ValidFromDate.Add(CasAuthentication.FormsTimeout);            
            if (DateTime.MinValue.CompareTo(assertion.ValidUntilDate) != 0)
            {
                ValidUntilDate = localValidUntil.CompareTo(assertion.ValidUntilDate) < 0 ? localValidUntil : assertion.ValidUntilDate;
            }
            else
            {
                ValidUntilDate = localValidUntil;
            }
        }
예제 #24
0
 /// <summary>
 /// Add assertion to the list
 /// </summary>
 /// <param name="assertion"></param>
 public void Add(IAssertion assertion)
 {
     _assertionsByName.Add(assertion.Name, assertion);
 }
예제 #25
0
 public static LogicalAssertion LogicalNot(IAssertion[] operands)
 {
     return new LogicalAssertion(operands, true, true);
 }
예제 #26
0
 public static void AreNotEqual(this IAssertion assertion, System.String notExpected, System.String actual, System.Boolean ignoreCase, System.Globalization.CultureInfo culture)
 {
     Assert.AreNotEqual(notExpected, actual, ignoreCase, culture);
 }
예제 #27
0
 public orAssertion(IAssertion one, IAssertion other)
 {
     this.one = one;
     this.other = other;
 }
예제 #28
0
 public static void AreNotEqual(this IAssertion assertion, System.String notExpected, System.String actual, System.Boolean ignoreCase, System.Globalization.CultureInfo culture, System.String message, System.Object[] parameters)
 {
     Assert.AreNotEqual(notExpected, actual, ignoreCase, culture, message, parameters);
 }
예제 #29
0
 public static void Fail(this IAssertion assertion)
 {
     Assert.Fail();
 }
예제 #30
0
 public static void AreNotEqual(this IAssertion assertion, System.Double notExpected, System.Double actual, System.Double delta)
 {
     Assert.AreNotEqual(notExpected, actual, delta);
 }
예제 #31
0
 public static void Fail(this IAssertion assertion, System.String message)
 {
     Assert.Fail(message);
 }
예제 #32
0
 public static void AreEqual <T>(this IAssertion assertion, T expected, T actual)
 {
     Assert.AreEqual(expected, actual);
 }
예제 #33
0
 public static void AreEqual(this IAssertion assertion, System.String expected, System.String actual, System.Boolean ignoreCase)
 {
     Assert.AreEqual(expected, actual, ignoreCase);
 }
예제 #34
0
 /// <summary>
 /// Constructs a new Principal backed by the supplied Assertion.
 /// </summary>
 /// <param name="assertion">
 /// the Assertion that backs this Principal
 /// </param>
 public CasPrincipal(IAssertion assertion) : this(assertion, null, null) { }
예제 #35
0
 public static void Inconclusive(this IAssertion assertion)
 {
     Assert.Inconclusive();
 }
예제 #36
0
        /// <summary>
        /// Constructs a new Principal backed by the supplied Assertion, with
        /// proxying capabilities.
        /// </summary>
        /// <param name="assertion">
        /// the Assertion that backs this Principal
        /// </param>
        /// <param name="proxyGrantingTicket">
        /// the proxy granting ticket associated with this Principal.
        /// </param>
        /// <param name="proxies">
        /// The proxy path associated with this Principal
        /// </param>
        public CasPrincipal(IAssertion assertion, string proxyGrantingTicket, IEnumerable<string> proxies)
        {
            CommonUtils.AssertNotNull(assertion, "assertion cannot be null.");

			Identity = new GenericIdentity(assertion.PrincipalName, CasClientConfiguration.Config.AuthenticationType);
            Assertion = assertion;
            ProxyGrantingTicket = proxyGrantingTicket;

            if (proxies != null)
            {
                Proxies = proxies;
            }
            else
            {
                Proxies = new List<string>();
            }
        }
예제 #37
0
 public static void AreNotEqual(this IAssertion assertion, System.Single notExpected, System.Single actual, System.Single delta, System.String message, System.Object[] parameters)
 {
     Assert.AreNotEqual(notExpected, actual, delta, message, parameters);
 }
 public static Exception ThrowsAsync(this IAssertion assertion, Task task, string expectedMessage, ExceptionInheritanceOptions inheritOptions = ExceptionInheritanceOptions.Inherits)
 {
     return(ThrowsAsync <Exception>(task, expectedMessage, ExceptionMessageCompareOptions.Exact, inheritOptions));
 }
예제 #39
0
 /// <summary>
 /// Constructs a new Principal backed by the supplied Assertion, with
 /// proxying capabilities.
 /// </summary>
 /// <param name="assertion">
 /// the Assertion that backs this Principal
 /// </param>
 /// <param name="proxyGrantingTicket">
 /// the proxy granting ticket associated with this Principal.
 /// </param>
 public CasPrincipal(IAssertion assertion, string proxyGrantingTicket) : this(assertion, proxyGrantingTicket, null) { }
예제 #40
0
 public static void AreNotEqual(this IAssertion assertion, System.String notExpected, System.String actual, System.Boolean ignoreCase, System.String message)
 {
     Assert.AreNotEqual(notExpected, actual, ignoreCase, message);
 }
예제 #41
0
 public AndAssertion(Assertion one, Assertion other)
 {
     this.one = one;
     this.other = other;
 }
예제 #42
0
 public static void AreNotEqual <T>(this IAssertion assertion, T notExpected, T actual)
 {
     Assert.AreNotEqual(notExpected, actual);
 }
예제 #43
0
 public virtual bool Contains(IAssertion assertion)
 {
     return InnerList.Contains(assertion);
 }
예제 #44
0
 public static void AreNotEqual <T>(this IAssertion assertion, T notExpected, T actual, System.String message, System.Object[] parameters)
 {
     Assert.AreNotEqual(notExpected, actual, message, parameters);
 }
예제 #45
0
 //public NotAssertion(IAssertion assertion) : base(assertion.Candidate, assertion.Message)
 public NotAssertion(IAssertion assertion)
     : base(assertion.Specification, assertion.Message)
 {
     wrapped = assertion;
 }
예제 #46
0
 public static void AreNotSame(this IAssertion assertion, System.Object notExpected, System.Object actual, System.String message)
 {
     Assert.AreNotSame(notExpected, actual, message);
 }
        public static IAssertion[] Create(XmlNodeList nodes)
        {
            if (nodes == null)
                throw new ArgumentNullException("nodes");

            //
            // First count the number of elements, which will be used to
            // allocate the array at its correct and final size.
            //

            var elementCount = 0;

            foreach (XmlNode child in nodes)
            {
                var nodeType = child.NodeType;

                //
                // Skip comments and whitespaces.
                //

                if (nodeType == XmlNodeType.Comment || nodeType == XmlNodeType.Whitespace)
                    continue;

                //
                // Otherwise all elements only.
                //

                if (nodeType != XmlNodeType.Element)
                {
                    throw new ConfigurationException(
                        string.Format("Unexpected type of node ({0}).", nodeType.ToString()),
                        child);
                }

                elementCount++;
            }

            //
            // In the second pass, create and configure the assertions
            // from each element.
            //

            var assertions = new IAssertion[elementCount];
            elementCount = 0;

            foreach (XmlNode node in nodes)
            {
                if (node.NodeType == XmlNodeType.Element)
                    assertions[elementCount++] = Create((XmlElement) node);
            }

            return assertions;
        }
예제 #48
0
 public static void AreEqual <T>(this IAssertion assertion, T expected, T actual, System.String message)
 {
     Assert.AreEqual(expected, actual, message);
 }
예제 #49
0
 private LogicalAssertion(IAssertion[] assertions, bool not, bool all)
     : base(assertions)
 {
     _not = not;
     _all = all;
 }
예제 #50
0
 public static void AreNotSame(this IAssertion assertion, System.Object notExpected, System.Object actual)
 {
     Assert.AreNotSame(notExpected, actual);
 }
예제 #51
0
 public static LogicalAssertion LogicalOr(IAssertion[] operands)
 {
     return new LogicalAssertion(operands, false, false);
 }
예제 #52
0
 public static void AreSame(this IAssertion assertion, System.Object expected, System.Object actual)
 {
     Assert.AreSame(expected, actual);
 }
예제 #53
0
 public static void AreSame(this IAssertion assertion, System.Object expected, System.Object actual, System.String message, System.Object[] parameters)
 {
     Assert.AreSame(expected, actual, message, parameters);
 }
예제 #54
0
 public static void Equals(this IAssertion assertion, System.Object objA, System.Object objB)
 {
     Assert.Equals(objA, objB);
 }
        /// <summary>
        /// Public CasAuthenticationTicket constructor
        /// </summary>
        /// <param name="serviceTicket">CAS Service Ticket associated with this CasAuthenticationTicket</param>
        /// <param name="originatingServiceName">ServiceName used during CAS authentication/validation</param>
        /// <param name="clientHostAddress">IP address of the client initiating the authentication request</param>
        /// <param name="assertion">CAS assertion returned from the CAS server during ticket validation</param>
        /// <param name="clock"></param>
        public CasAuthenticationTicket(
            string serviceTicket, 
            string originatingServiceName, 
            string clientHostAddress, 
            IAssertion assertion,
            DateTime validFromDate) {

            Proxies = new List<string>();

            NetId = assertion.PrincipalName;
            ServiceTicket = serviceTicket;
            OriginatingServiceName = originatingServiceName;
            ClientHostAddress = clientHostAddress;
            Assertion = assertion;

            if (DateTime.MinValue.CompareTo(assertion.ValidFromDate) != 0) {
                ValidFromDate = assertion.ValidFromDate;
            }
            else {
                ValidFromDate = validFromDate;
            }

            DateTime localValidUntil = ValidFromDate.Add(TimeSpan.FromDays(30));
            if (DateTime.MinValue.CompareTo(assertion.ValidUntilDate) != 0) {
                ValidUntilDate = localValidUntil.CompareTo(assertion.ValidUntilDate) < 0 ? localValidUntil : assertion.ValidUntilDate;
            }
            else {
                ValidUntilDate = localValidUntil;
            }
        }
예제 #56
0
 public AbstractTestBase(IAssertion assertion)
 {
     context = new TestHttpContext();
     Assert  = assertion;
 }