public void WhenEntitlementContainsOnlyTheRequestedApplication_ReturnsExpectedApplication()
            {
                var token  = _generatorWithNoEncryptionKey.Generate(_validEntitlements);
                var result = _verifierWithNoEncryptionKey.Verify(token, _audience, _issuer, _contosoFinanceApp, _approvedAddress);

                result.HasValue.Should().BeTrue();
                result.Value.Applications.Should().Contain(_contosoFinanceApp);
            }
Пример #2
0
        public void SubtractionOperator()
        {
            string        eq        = "1 - 4";
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsTrue(verifier.Verify(tokens));
        }
Пример #3
0
        public void EndsWithAdditionOperator()
        {
            string        eq        = "1+";
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsFalse(verifier.Verify(tokens));
        }
Пример #4
0
        public void StartsWithDiceOperator()
        {
            string        eq        = "d4";
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsFalse(verifier.Verify(tokens));
        }
Пример #5
0
        public void DoubleMultiplication()
        {
            string        eq        = "5 * * 60";
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsFalse(verifier.Verify(tokens));
        }
Пример #6
0
        public void DiceOperatorSingleDigitOperands()
        {
            string        eq        = "1d4";
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsTrue(verifier.Verify(tokens));
        }
            public void WhenEncryptedByCertificate_ReturnsExpectedResult(SecurityKey key)
            {
                // Arrange
                var encryptingCredentials = new EncryptingCredentials(key, SecurityAlgorithms.RsaOAEP, SecurityAlgorithms.Aes256CbcHmacSha512);
                var verifier  = new TokenVerifier(encryptingKey: key);
                var generator = new TokenGenerator(_nullLogger, signingCredentials: null, encryptingCredentials: encryptingCredentials);
                // Act
                var token  = generator.Generate(_validEntitlements);
                var result = verifier.Verify(token, _audience, _issuer, _contosoFinanceApp, _approvedAddress);

                // Assert
                result.Errors.Should().BeEmpty();
                result.Value.Applications.Should().Contain(_contosoFinanceApp);
            }
Пример #8
0
        public void MultiplicationOperator()
        {
            string        eq        = "5*10";
            int           expected  = 50;
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsTrue(verifier.Verify(tokens));
            TokenEvaluator evaluator = new TokenEvaluator();
            double         actual    = evaluator.Evaluate(tokens);

            Assert.AreEqual(expected, actual);
        }
Пример #9
0
        public void AdditionOperator()
        {
            string        eq        = " 1.5 + 4.0";
            double        expected  = 5.5;
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsTrue(verifier.Verify(tokens));
            TokenEvaluator evaluator = new TokenEvaluator();
            double         actual    = evaluator.Evaluate(tokens);

            Assert.AreEqual(expected, actual);
        }
Пример #10
0
        public void AdditionAndDiceOperator()
        {
            string        eq        = "1d5 + 10";
            int           lowBound  = 11;
            int           highBound = 15;
            Lexer         tokenizer = new Lexer();
            List <Token>  tokens    = tokenizer.Parse(eq);
            TokenVerifier verifier  = new TokenVerifier();

            Assert.IsTrue(verifier.Verify(tokens));
            TokenEvaluator evaluator = new TokenEvaluator();
            double         results   = evaluator.Evaluate(tokens);

            if (!(lowBound <= results && results <= highBound))
            {
                Assert.Fail(String.Format("Result should have fallen within {0} and {1} but was instead {2}", lowBound, highBound, results));
            }
        }