Skip to content

Commit

Permalink
AutoFixture doesn't work so well on .net 6 on linux
Browse files Browse the repository at this point in the history
  • Loading branch information
hartmark committed Jun 18, 2022
1 parent 1c4e365 commit 830584b
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 11 deletions.
29 changes: 22 additions & 7 deletions tests/JWT.Tests.Common/Algorithms/RSAlgorithmFactoryTests.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
using System.Security.Cryptography;
#if NET6_0
#else
using AutoFixture;
#endif
using FluentAssertions;
using JWT.Algorithms;
using JWT.Builder;
Expand All @@ -10,12 +13,23 @@ namespace JWT.Tests.Algorithms
[TestClass]
public class RSAlgorithmFactoryTests
{
private static readonly Fixture _fixture = new Fixture();
private static RSACryptoServiceProvider RSACryptoServiceProvider
{
get
{
#if NET6_0
return new RSACryptoServiceProvider();
#else
var fixture = new Fixture();
return fixture.Create<RSACryptoServiceProvider>();
#endif
}
}

[TestMethod]
public void Create_Should_Return_Instance_Of_RS256Algorithm_When_Algorithm_Specified_In_Jwt_Header_Is_RS256()
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;
var factory = new RSAlgorithmFactory(publicKey);
var context = new JwtDecoderContext
{
Expand All @@ -33,7 +47,7 @@ public void Create_Should_Return_Instance_Of_RS256Algorithm_When_Algorithm_Speci
[TestMethod]
public void Create_Should_Return_Instance_Of_RS384Algorithm_When_Algorithm_Specified_In_Jwt_Header_Is_RS384()
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;
var factory = new RSAlgorithmFactory(publicKey);
var context = new JwtDecoderContext
{
Expand All @@ -51,7 +65,7 @@ public void Create_Should_Return_Instance_Of_RS384Algorithm_When_Algorithm_Speci
[TestMethod]
public void Create_Should_Return_Instance_Of_RS512Algorithm_When_Algorithm_Specified_In_Jwt_Header_Is_RS512()
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;
var factory = new RSAlgorithmFactory(publicKey);
var context = new JwtDecoderContext
{
Expand All @@ -69,7 +83,8 @@ public void Create_Should_Return_Instance_Of_RS512Algorithm_When_Algorithm_Speci
[TestMethod]
public void Create_Should_Return_Instance_Of_RS1024Algorithm_When_Algorithm_Specified_In_Jwt_Header_Is_RS1024()
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;

var factory = new RSAlgorithmFactory(publicKey);
var context = new JwtDecoderContext
{
Expand All @@ -87,7 +102,7 @@ public void Create_Should_Return_Instance_Of_RS1024Algorithm_When_Algorithm_Spec
[TestMethod]
public void Create_Should_Return_Instance_Of_RS2048Algorithm_When_Algorithm_Specified_In_Jwt_Header_Is_RS2048()
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;
var factory = new RSAlgorithmFactory(publicKey);
var context = new JwtDecoderContext
{
Expand All @@ -105,7 +120,7 @@ public void Create_Should_Return_Instance_Of_RS2048Algorithm_When_Algorithm_Spec
[TestMethod]
public void Create_Should_Return_Instance_Of_RS4096Algorithm_When_Algorithm_Specified_In_Jwt_Header_Is_RS4096()
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;
var factory = new RSAlgorithmFactory(publicKey);
var context = new JwtDecoderContext
{
Expand Down
22 changes: 18 additions & 4 deletions tests/JWT.Tests.Common/Algorithms/RSAlgorithmTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,10 @@
using System.Collections.Generic;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
#if NET6_0
#else
using AutoFixture;
#endif
using FluentAssertions;
using JWT.Algorithms;
using JWT.Tests.Models;
Expand All @@ -13,13 +16,24 @@ namespace JWT.Tests.Algorithms
[TestClass]
public class RSAlgorithmTests
{
private static readonly Fixture _fixture = new Fixture();
private static RSACryptoServiceProvider RSACryptoServiceProvider
{
get
{
#if NET6_0
return new RSACryptoServiceProvider();
#else
var fixture = new Fixture();
return fixture.Create<RSACryptoServiceProvider>();
#endif
}
}

[DynamicData(nameof(GetFactoryWithPublicPrivateKey), DynamicDataSourceType.Method)]
[DataTestMethod]
public void Ctor_Should_Throw_Exception_When_PublicKey_Is_Null(Func<RSA, RSA, RSAlgorithm> algFactory)
{
var privateKey = _fixture.Create<RSACryptoServiceProvider>();
var privateKey = RSACryptoServiceProvider;

Action action = () => algFactory(null, privateKey);

Expand All @@ -31,7 +45,7 @@ public void Ctor_Should_Throw_Exception_When_PublicKey_Is_Null(Func<RSA, RSA, RS
[DataTestMethod]
public void Ctor_Should_Throw_Exception_When_PrivateKey_Is_Null(Func<RSA, RSA, RSAlgorithm> algFactory)
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;

Action action = () => algFactory(publicKey, null);

Expand All @@ -43,7 +57,7 @@ public void Ctor_Should_Throw_Exception_When_PrivateKey_Is_Null(Func<RSA, RSA, R
[DataTestMethod]
public void Sign_Should_Throw_Exception_When_PrivateKey_Is_Null(Func<RSA, RSAlgorithm> algFactory)
{
var publicKey = _fixture.Create<RSACryptoServiceProvider>();
var publicKey = RSACryptoServiceProvider;
var alg = algFactory(publicKey);

var bytesToSign = Array.Empty<byte>();
Expand Down

0 comments on commit 830584b

Please sign in to comment.