TestTokenCreator クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Microsoftに応じて単体テストの実装で使用するテスト トークンを作成するクラス。IdentityModel トークンの検証。
public class TestTokenCreator
type TestTokenCreator = class
Public Class TestTokenCreator
- 継承
-
TestTokenCreator
例
次に、共通のテスト フレームワークである Xunit を使用してこのクラスを利用する方法の例を示します。 ただし、コア概念は、任意のフレームワークを使用した単体テストに適用されます。
この例では、Microsoftを呼び出すメソッド ValidateToken を公開するクラス ClassWithMicrosoftIdentityModelDependency を想定しています。IdentityModel ライブラリと GetTokenValidationParameters。テスト対象のコードが実際に使用するTokenValidationParametersを取得します。 検証にギャップがあるかどうかを単体テストで実際に確認できるため、実際の TokenValidationParameters を使用することが重要です (たとえば、特定の重要な検証が無効になっている、 ValidateAudience、 ValidateIssuerなど)。
次のコード例では、generateTokenToTest がこのクラスのメソッドの 1 つである必要があります。
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");
}
注釈
Microsoft。IdentityModel.SampleTests.SampleTokenValidationClassTests には、このクラスを利用して、Microsoftに依存する単純なトークン検証クラスを検証する方法の例が含まれています。IdentityModel のトークン検証メソッド。
コンストラクター
| 名前 | 説明 |
|---|---|
| TestTokenCreator() |
Microsoftに応じて単体テストの実装で使用するテスト トークンを作成するクラス。IdentityModel トークンの検証。 |
プロパティ
| 名前 | 説明 |
|---|---|
| Audience |
作成されたトークンにスタンプを付ける対象ユーザーを取得または設定します。 |
| Issuer |
作成されたトークンにスタンプを付ける発行者を取得または設定します。 |
| SigningCredentials |
作成されたトークンの署名に使用する SigningCredentials を取得または設定します。 |