Skip to content

Commit

Permalink
Merged PR 10217: Disable test that set statics.
Browse files Browse the repository at this point in the history
Disable test that set statics.

----
#### AI-Generated Description
The pull request modifies two test files related to compression algorithms for JSON web tokens. The main changes are:
- Commenting out the lines that set the `CompressionProviderFactory.Default` property, as it is a static field that affects other tests and needs to be replaced by a different model.
- Adding a link to a work item that tracks the replacement of the compression model.
- Skipping some test cases that rely on custom or null compression providers, as they are not compatible with the current model.
- Removing some redundant test cases that are already covered by other scenarios.
  • Loading branch information
Brent Schmaltz committed Oct 13, 2023
1 parent ceeff41 commit b16f758
Show file tree
Hide file tree
Showing 2 changed files with 70 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3446,7 +3446,9 @@ public void JWECompressionTest(CreateTokenTheoryData theoryData)
try
{
var handler = new JsonWebTokenHandler();
CompressionProviderFactory.Default = theoryData.CompressionProviderFactory;
// We need to have a replacement model for custom compression
// https://identitydivision.visualstudio.com/Engineering/_workitems/edit/2719954
//CompressionProviderFactory.Default = theoryData.CompressionProviderFactory;
string jwtToken;
if (theoryData.SigningCredentials == null)
jwtToken = handler.CreateToken(theoryData.Payload, theoryData.EncryptingCredentials, theoryData.CompressionAlgorithm);
Expand Down Expand Up @@ -3524,17 +3526,20 @@ public static TheoryData<CreateTokenTheoryData> JWECompressionTheoryData
EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
ExpectedException = new ExpectedException(typeof(SecurityTokenCompressionFailedException), "IDX10680:", typeof(NotSupportedException))
},
new CreateTokenTheoryData()
{
TestId = "NullCompressionProviderFactory",
CompressionAlgorithm = CompressionAlgorithms.Deflate,
CompressionProviderFactory = null,
ValidationParameters = Default.JWECompressionTokenValidationParameters,
Payload = Default.PayloadString,
SigningCredentials = KeyingMaterial.DefaultSymmetricSigningCreds_256_Sha2,
EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
ExpectedException = ExpectedException.ArgumentNullException("IDX10000:")
},
// Skip these tests as they set a static
// We need to have a replacement model for custom compression
// https://identitydivision.visualstudio.com/Engineering/_workitems/edit/2719954
//new CreateTokenTheoryData()
//{
// TestId = "NullCompressionProviderFactory",
// CompressionAlgorithm = CompressionAlgorithms.Deflate,
// CompressionProviderFactory = null,
// ValidationParameters = Default.JWECompressionTokenValidationParameters,
// Payload = Default.PayloadString,
// SigningCredentials = KeyingMaterial.DefaultSymmetricSigningCreds_256_Sha2,
// EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
// ExpectedException = ExpectedException.ArgumentNullException("IDX10000:")
//},
new CreateTokenTheoryData()
{
TestId = "NullSigningCredentialsRequireSignedTokensFalse",
Expand All @@ -3554,27 +3559,30 @@ public static TheoryData<CreateTokenTheoryData> JWECompressionTheoryData
EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
ExpectedException = ExpectedException.SecurityTokenInvalidSignatureException("IDX10504:")
},
new CreateTokenTheoryData()
{
TestId = "CustomCompressProviderSucceeds",
CompressionAlgorithm = CompressionAlgorithms.Deflate,
CompressionProviderFactory = compressionProviderFactoryForCustom,
ValidationParameters = Default.JWECompressionTokenValidationParameters,
Payload = Default.PayloadString,
SigningCredentials = KeyingMaterial.DefaultSymmetricSigningCreds_256_Sha2,
EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
},
new CreateTokenTheoryData()
{
TestId = "CustomCompressionProviderFails",
CompressionAlgorithm = CompressionAlgorithms.Deflate,
CompressionProviderFactory = compressionProviderFactoryForCustom2,
ValidationParameters = Default.JWECompressionTokenValidationParameters,
Payload = Default.PayloadString,
SigningCredentials = KeyingMaterial.DefaultSymmetricSigningCreds_256_Sha2,
EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
ExpectedException = new ExpectedException(typeof(SecurityTokenCompressionFailedException), "IDX10680:", typeof(InvalidOperationException))
},
// Skip these tests as they set a static
// We need to have a replacement model for custom compression
// https://identitydivision.visualstudio.com/Engineering/_workitems/edit/2719954
//new CreateTokenTheoryData()
//{
// TestId = "CustomCompressProviderSucceeds",
// CompressionAlgorithm = CompressionAlgorithms.Deflate,
// CompressionProviderFactory = compressionProviderFactoryForCustom,
// ValidationParameters = Default.JWECompressionTokenValidationParameters,
// Payload = Default.PayloadString,
// SigningCredentials = KeyingMaterial.DefaultSymmetricSigningCreds_256_Sha2,
// EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
//},
//new CreateTokenTheoryData()
//{
// TestId = "CustomCompressionProviderFails",
// CompressionAlgorithm = CompressionAlgorithms.Deflate,
// CompressionProviderFactory = compressionProviderFactoryForCustom2,
// ValidationParameters = Default.JWECompressionTokenValidationParameters,
// Payload = Default.PayloadString,
// SigningCredentials = KeyingMaterial.DefaultSymmetricSigningCreds_256_Sha2,
// EncryptingCredentials = new EncryptingCredentials(KeyingMaterial.DefaultX509Key_2048, SecurityAlgorithms.RsaPKCS1, SecurityAlgorithms.Aes128CbcHmacSha256),
// ExpectedException = new ExpectedException(typeof(SecurityTokenCompressionFailedException), "IDX10680:", typeof(InvalidOperationException))
//},
};
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1186,7 +1186,9 @@ public void JWEDecompressionTest(JWEDecompressionTheoryData theoryData)
try
{
var handler = new JwtSecurityTokenHandler();
CompressionProviderFactory.Default = theoryData.CompressionProviderFactory;
// We need to have a replacement model for custom compression
// https://identitydivision.visualstudio.com/Engineering/_workitems/edit/2719954
//CompressionProviderFactory.Default = theoryData.CompressionProviderFactory;
var claimsPrincipal = handler.ValidateToken(theoryData.JWECompressionString, theoryData.ValidationParameters, out var validatedToken);

if (!claimsPrincipal.Claims.Any())
Expand Down Expand Up @@ -1238,29 +1240,32 @@ public static TheoryData<JWEDecompressionTheoryData> JWEDecompressionTheoryData(
TestId = "InvalidToken",
ExpectedException = new ExpectedException(typeof(SecurityTokenDecompressionFailedException), "IDX10679:", typeof(InvalidDataException))
},
new JWEDecompressionTheoryData
{
ValidationParameters = Default.JWECompressionTokenValidationParameters,
JWECompressionString = ReferenceTokens.JWECompressionTokenWithDEF,
CompressionProviderFactory = null,
TestId = "NullCompressionProviderFactory",
ExpectedException = ExpectedException.ArgumentNullException("IDX10000:")
},
new JWEDecompressionTheoryData
{
ValidationParameters = Default.JWECompressionTokenValidationParameters,
CompressionProviderFactory = compressionProviderFactoryForCustom,
JWECompressionString = ReferenceTokens.JWECompressionTokenWithCustomAlgorithm,
TestId = "CustomCompressionProviderSucceeds"
},
new JWEDecompressionTheoryData
{
ValidationParameters = Default.JWECompressionTokenValidationParameters,
JWECompressionString = ReferenceTokens.JWECompressionTokenWithDEF,
CompressionProviderFactory = compressionProviderFactoryForCustom2,
TestId = "CustomCompressionProviderFails",
ExpectedException = new ExpectedException(typeof(SecurityTokenDecompressionFailedException), "IDX10679:", typeof(SecurityTokenDecompressionFailedException))
}
// Skip these tests as they set a static
// We need to have a replacement model for custom compression
// https://identitydivision.visualstudio.com/Engineering/_workitems/edit/2719954
//new JWEDecompressionTheoryData
//{
// ValidationParameters = Default.JWECompressionTokenValidationParameters,
// JWECompressionString = ReferenceTokens.JWECompressionTokenWithDEF,
// CompressionProviderFactory = null,
// TestId = "NullCompressionProviderFactory",
// ExpectedException = ExpectedException.ArgumentNullException("IDX10000:")
//},
//new JWEDecompressionTheoryData
//{
// ValidationParameters = Default.JWECompressionTokenValidationParameters,
// CompressionProviderFactory = compressionProviderFactoryForCustom,
// JWECompressionString = ReferenceTokens.JWECompressionTokenWithCustomAlgorithm,
// TestId = "CustomCompressionProviderSucceeds"
//},
//new JWEDecompressionTheoryData
//{
// ValidationParameters = Default.JWECompressionTokenValidationParameters,
// JWECompressionString = ReferenceTokens.JWECompressionTokenWithDEF,
// CompressionProviderFactory = compressionProviderFactoryForCustom2,
// TestId = "CustomCompressionProviderFails",
// ExpectedException = new ExpectedException(typeof(SecurityTokenDecompressionFailedException), "IDX10679:", typeof(SecurityTokenDecompressionFailedException))
//}
};
}

Expand Down

0 comments on commit b16f758

Please sign in to comment.