public async Task DistributedCacheMetadataService_CacheSuppressionWorks() { var services = new ServiceCollection(); var staticClient = new StaticMetadataRepository(null); var clients = new List <IMetadataRepository>(); clients.Add(staticClient); services.AddDistributedMemoryCache(); services.AddLogging(); var provider = services.BuildServiceProvider(); var memCache = provider.GetService <IDistributedCache>(); var service = new DistributedCacheMetadataService( clients, memCache, provider.GetService <ILogger <DistributedCacheMetadataService> >()); await service.Initialize(); var entry = service.GetEntry(Guid.Parse("6d44ba9b-f6ec-2e49-b930-0c8fe920cb73")); Assert.True(entry.MetadataStatement.Description == "Yubico Security Key NFC"); var cacheEntry = await memCache.GetStringAsync("DistributedCacheMetadataService:StaticMetadataRepository:Entry:6d44ba9b-f6ec-2e49-b930-0c8fe920cb73"); Assert.Null(cacheEntry); }
public Fido2Tests() { var MDSAccessKey = Environment.GetEnvironmentVariable("fido2:MDSAccessKey"); //var CacheDir = Environment.GetEnvironmentVariable("fido2:MDSCacheDirPath"); var services = new ServiceCollection(); var staticClient = new StaticMetadataRepository(); var repos = new List <IMetadataRepository>(); repos.Add(staticClient); if (!string.IsNullOrEmpty(MDSAccessKey)) { repos.Add(new Fido2MetadataServiceRepository(MDSAccessKey, null)); } services.AddDistributedMemoryCache(); services.AddLogging(); var provider = services.BuildServiceProvider(); var memCache = provider.GetService <IDistributedCache>(); var service = new DistributedCacheMetadataService( repos, memCache, provider.GetService <ILogger <DistributedCacheMetadataService> >()); service.Initialize().Wait(); _metadataService = service; _config = new Fido2Configuration { Origin = "https://localhost:44329" }; }
static Fido2Tests() { var MDSAccessKey = Environment.GetEnvironmentVariable("fido2:MDSAccessKey"); var services = new ServiceCollection(); var staticClient = new StaticMetadataRepository(); var repos = new List <IMetadataRepository>(); repos.Add(staticClient); if (!string.IsNullOrEmpty(MDSAccessKey)) { repos.Add(new Fido2MetadataServiceRepository(MDSAccessKey, null)); } services.AddDistributedMemoryCache(); services.AddLogging(); var provider = services.BuildServiceProvider(); var memCache = provider.GetService <IDistributedCache>(); var service = new DistributedCacheMetadataService( repos, memCache, provider.GetService <ILogger <DistributedCacheMetadataService> >()); service.Initialize().Wait(); _metadataService = service; _config = new Fido2Configuration { Origin = "https://localhost:44329" }; _validCOSEParameters = new List <object[]>(); _validCOSEParameters.Add(new object[3] { COSE.KeyType.EC2, COSE.Algorithm.ES256, COSE.EllipticCurve.P256 }); _validCOSEParameters.Add(new object[3] { COSE.KeyType.EC2, COSE.Algorithm.ES384, COSE.EllipticCurve.P384 }); _validCOSEParameters.Add(new object[3] { COSE.KeyType.EC2, COSE.Algorithm.ES512, COSE.EllipticCurve.P521 }); _validCOSEParameters.Add(new object[2] { COSE.KeyType.RSA, COSE.Algorithm.RS256 }); _validCOSEParameters.Add(new object[2] { COSE.KeyType.RSA, COSE.Algorithm.RS384 }); _validCOSEParameters.Add(new object[2] { COSE.KeyType.RSA, COSE.Algorithm.RS512 }); _validCOSEParameters.Add(new object[2] { COSE.KeyType.RSA, COSE.Algorithm.PS256 }); _validCOSEParameters.Add(new object[2] { COSE.KeyType.RSA, COSE.Algorithm.PS384 }); _validCOSEParameters.Add(new object[2] { COSE.KeyType.RSA, COSE.Algorithm.PS512 }); _validCOSEParameters.Add(new object[3] { COSE.KeyType.OKP, COSE.Algorithm.EdDSA, COSE.EllipticCurve.Ed25519 }); }