TestTokenCreator Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
En klass som ansvarar för att skapa testtoken för användning i implementeringar av enhetstestning beroende på Microsoft. Validering av IdentityModel-token.
public class TestTokenCreator
type TestTokenCreator = class
Public Class TestTokenCreator
- Arv
-
TestTokenCreator
Exempel
Följande ger ett exempel på hur den här klassen kan utnyttjas med hjälp av ett gemensamt testramverk, Xunit. Huvudbegreppen gäller dock för enhetstestning med alla ramverk.
Exemplet föreställer sig en klass, ClassWithMicrosoftIdentityModelDependency, som exponerar ValidateToken, en metod som anropar Microsoft. IdentityModel-biblioteket och GetTokenValidationParameters som hämtar TokenValidationParameters koden under testet använder faktiskt. Observera att det är viktigt att använda det verkliga TokenValidationParameters eftersom det gör att enhetstesterna faktiskt kan bekräfta om det finns en lucka i valideringen (t.ex. att viss viktig validering är inaktiverad, ValidateAudience, ValidateIssuer, osv.)
I följande kodexempel ska generateTokenToTest vara en av metoderna från den här klassen.
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");
}
Kommentarer
Microsoft. IdentityModel.SampleTests.SampleTokenValidationClassTests innehåller exempel på hur den här klassen kan användas för att verifiera en trivial tokenvalideringsklass som är beroende av Microsoft. IdentityModels valideringsmetoder för token.
Konstruktorer
| Name | Description |
|---|---|
| TestTokenCreator() |
En klass som ansvarar för att skapa testtoken för användning i implementeringar av enhetstestning beroende på Microsoft. Validering av IdentityModel-token. |
Egenskaper
| Name | Description |
|---|---|
| Audience |
Hämtar eller ställer in målgruppen som ska stämplas på de token som skapats. |
| Issuer |
Hämtar eller anger att utfärdaren ska stämplas på de token som skapats. |
| SigningCredentials |
Hämtar eller anger de SigningCredentials som används för att signera de token som skapats. |
Metoder
| Name | Description |
|---|---|
| CreateClaimsSetWithInstanceOverrides() |
Skapar en standarduppsättning anspråk baserat på instansvärdena. |
| CreateDefaultValidToken() |
Skapar en giltig standardtesttoken baserat på klassens Issuer, Audience och SigningCredentials -värden. |
| CreateExpiredToken() |
Skapar en JWS-testtoken som har gått ut. |
| CreateJsonPayload(IDictionary<String,Object>) |
Skapar en JSON-nyttolast baserat på överförda IDictionary<TKey,TValue>anspråk. |
| CreateNotYetValidToken() |
Skapar en JWS-testtoken som ännu inte är giltig. |
| CreateToken(Dictionary<String,Object>) |
Skapar en token baserat på den skickade Dictionary<TKey,TValue>. |
| CreateToken(SecurityTokenDescriptor) |
Skapar en token baserat på den skickade SecurityTokenDescriptor. |
| CreateTokenDescriptorWithInstanceOverrides() |
Skapar ett standardvärde SecurityTokenDescriptor baserat på instansvärdena. |
| CreateTokenWithBadAudience() |
Skapar en JWS-testtoken med en målgrupp som inte matchar det konfigurerade instansvärdet. |
| CreateTokenWithBadIssuer() |
Skapar en JWS-testtoken med en utfärdare som inte matchar det konfigurerade instansvärdet. |
| CreateTokenWithBadSignatureKey() |
Skapar en JWS-testtoken signerad med en nyckel som inte matchar det konfigurerade instansvärdet. |
| CreateTokenWithFutureIssuedAt() |
Skapar en JWS-testtoken som utfärdas i framtiden. |
| CreateTokenWithInvalidSignature() |
Skapar en testtoken med en signatur som inte matchar nyttolasten. |
| CreateTokenWithMissingAudience() |
Skapar en JWS-testtoken med ett anspråk för saknad målgrupp (aud). |
| CreateTokenWithMissingExpires() |
Skapar en JWS-testtoken med ett anspråk för förfallotid (exp). |
| CreateTokenWithMissingIssuedAt() |
Skapar en JWS-testtoken med ett iat-anspråk (IssuedAt) som saknas. |
| CreateTokenWithMissingIssuer() |
Skapar en JWS-testtoken med ett utfärdaranspråk (iss) som saknas. |
| CreateTokenWithMissingKey() |
Skapar en JWS-testtoken utan en signeringsnyckel (dvs. alg=none, ingen signatur). |
| CreateTokenWithMissingNotBefore() |
Skapar en JWS-testtoken med ett notBefore-anspråk (nbf) som saknas. |
| CreateTokenWithNoSignature() |
Skapar en JWS-testtoken utan signatur. |