public void CheckingNoParameterValueWhenNoParameterValueExistsReturnsFalse()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var actual = target.IsSecureParameterValid(
                userId,
                parameterName,
                null);

            Assert.False(actual);
        }
        public void CheckingMatchingParameterValueReturnsTrue()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromMinutes(2));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var expected = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            var actual = target.IsSecureParameterValid(
                userId,
                parameterName,
                expected);

            Assert.True(actual);
        }
        public void CheckingMatchingButExpiredParameterValueReturnsFalse()
        {
            var target = new OAuthSecurityStrategy(
                new InMemoryCryptographicParameterRepository(),
                TimeSpan.FromSeconds(1));
            var userId        = Guid.NewGuid().ToString();
            var parameterName = OAuth2ParameterEnum.State.EnumToString();

            var expected = target.CreateOrGetSecureParameter(
                userId,
                parameterName);

            Thread.Sleep(2000);

            var actual = target.IsSecureParameterValid(
                userId,
                parameterName,
                expected);

            Assert.False(actual);
        }