TestTokenCreator Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Klasa odpowiedzialna za tworzenie tokenów testowych do użycia w implementacjach testów jednostkowych w zależności od Microsoft. Weryfikacja tokenu IdentityModel.
public class TestTokenCreator
type TestTokenCreator = class
Public Class TestTokenCreator
- Dziedziczenie
-
TestTokenCreator
Przykłady
Poniżej przedstawiono przykład wykorzystania tej klasy przy użyciu wspólnej platformy testowania Xunit. Podstawowe pojęcia będą jednak stosowane do testowania jednostkowego przy użyciu dowolnej platformy.
W tym przykładzie przedstawiono klasę ClassWithMicrosoftIdentityModelDependency, która uwidacznia metodę ValidateToken wywołującą Microsoft. Biblioteka IdentityModel i getTokenValidationParameters, która pobiera TokenValidationParameters kod testowy faktycznie używa. Należy pamiętać, że ważne jest użycie wartości rzeczywistej TokenValidationParameters , ponieważ pozwoli to testom jednostkowym rzeczywiście potwierdzić, czy istnieje luka w walidacji (np. niektóre ważne walidacje są wyłączone, ValidateAudience, ValidateIssueritp.)
W poniższym przykładzie kodu metoda generateTokenToTest powinna być jedną z metod z tej klasy.
internal void AssertValidationException(Func{string} generateTokenToTest, Type innerExceptionType, string innerExceptionMessagePart)
{
try
{
ClassWithMicrosoftIdentityModelDependency.ValidateToken(
generateTokenToTest,
ClassWithMicrosoftIdentityModelDependency.GetTokenValidationParameters());
if (innerExceptionType != null || innerExceptionType != null)
throw new TestException(
string.Format(
"Expected an exception of type '{0}' containing '{1}' in the message.",
innerExceptionType,
innerExceptionMessagePart));
}
catch (Exception e)
{
Assert.Equal(typeof(SampleTestTokenValidationException), e.GetType());
Assert.Equal(innerExceptionType, e.InnerException.GetType());
if (!string.IsNullOrEmpty(innerExceptionMessagePart))
{
Assert.Contains(innerExceptionMessagePart, e.InnerException.Message);
}
}
}
[Fact]
public void TokenWithoutSignature()
{
var testTokenCreator = new TestTokenCreator();
AssertValidationException(
testTokenCreator.CreateTokenWithNoSignature,
typeof(ArgumentException),
"IDX14111");
}
Uwagi
Microsoft. IdentityModel.SampleTests.SampleTokenValidationClassTests zawiera przykłady wykorzystania tej klasy do sprawdzania poprawności trywialnych klas weryfikacji tokenów, która zależy od Microsoft. Metody weryfikacji tokenu modelu IdentityModel.
Konstruktory
| Nazwa | Opis |
|---|---|
| TestTokenCreator() |
Klasa odpowiedzialna za tworzenie tokenów testowych do użycia w implementacjach testów jednostkowych w zależności od Microsoft. Weryfikacja tokenu IdentityModel. |
Właściwości
| Nazwa | Opis |
|---|---|
| Audience |
Pobiera lub ustawia grupę odbiorców na sygnaturę na utworzonych tokenach. |
| Issuer |
Pobiera lub ustawia wystawcę, który ma być sygnaturowany na utworzonych tokenach. |
| SigningCredentials |
Pobiera lub ustawia wartości SigningCredentials używane do podpisywania utworzonych tokenów. |
Metody
| Nazwa | Opis |
|---|---|
| CreateClaimsSetWithInstanceOverrides() |
Tworzy domyślny zestaw oświadczeń na podstawie wartości wystąpienia. |
| CreateDefaultValidToken() |
Tworzy domyślny prawidłowy token testowy na podstawie wartości i SigningCredentials klasyIssuerAudience. |
| CreateExpiredToken() |
Tworzy testowy token JWS, który jest przeszłości jego wygaśnięciem. |
| CreateJsonPayload(IDictionary<String,Object>) |
Tworzy ładunek JSON na podstawie przekazanych IDictionary<TKey,TValue>oświadczeń. |
| CreateNotYetValidToken() |
Tworzy testowy token JWS, który nie jest jeszcze prawidłowy. |
| CreateToken(Dictionary<String,Object>) |
Tworzy token na podstawie przekazanego Dictionary<TKey,TValue>elementu . |
| CreateToken(SecurityTokenDescriptor) |
Tworzy token na podstawie przekazanego SecurityTokenDescriptorelementu . |
| CreateTokenDescriptorWithInstanceOverrides() |
Tworzy wartość domyślną SecurityTokenDescriptor na podstawie wartości wystąpienia. |
| CreateTokenWithBadAudience() |
Tworzy testowy token JWS z odbiorcą, który nie jest zgodny ze skonfigurowaną wartością wystąpienia. |
| CreateTokenWithBadIssuer() |
Tworzy testowy token JWS z wystawcą, który nie jest zgodny ze skonfigurowaną wartością wystąpienia. |
| CreateTokenWithBadSignatureKey() |
Tworzy testowy token JWS podpisany przy użyciu klucza, który nie jest zgodny z skonfigurowaną wartością wystąpienia. |
| CreateTokenWithFutureIssuedAt() |
Tworzy testowy token JWS wystawiony w przyszłości. |
| CreateTokenWithInvalidSignature() |
Tworzy token testowy z podpisem, który nie jest zgodny z ładunkiem. |
| CreateTokenWithMissingAudience() |
Tworzy testowy token JWS z brakującym oświadczeniem odbiorców (aud). |
| CreateTokenWithMissingExpires() |
Tworzy testowy token JWS z brakującym oświadczeniem czasu wygaśnięcia (exp). |
| CreateTokenWithMissingIssuedAt() |
Tworzy testowy token JWS z brakującym oświadczeniem IssuedAt (iat). |
| CreateTokenWithMissingIssuer() |
Tworzy testowy token JWS z brakującym oświadczeniem wystawcy (iss). |
| CreateTokenWithMissingKey() |
Tworzy testowy token JWS bez klucza podpisywania (tj. alg=none, no signature). |
| CreateTokenWithMissingNotBefore() |
Tworzy testowy token JWS z brakującym oświadczeniem NotBefore (nbf). |
| CreateTokenWithNoSignature() |
Tworzy testowy token JWS bez żadnego podpisu. |