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); }
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)); }
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)); }
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)); }
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)); }
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); }
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); }
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); }
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)); } }