public async Task Models_Should_Cached_And_Invalidator_When_Its_Changed() { //client var clientId = "ClientId1"; (await _clientCache.GetAsync(clientId)).ShouldBeNull(); var client = await _clientStore.FindClientByIdAsync(clientId); client.ShouldNotBeNull(); var clientCacheItem = await _clientCache.GetAsync(clientId); clientCacheItem.ShouldNotBeNull(); await _clientRepository.DeleteAsync(_testData.Client1Id); (await _clientCache.GetAsync(clientId)).ShouldBeNull(); //Api Resource var newApiResource1 = "NewApiResource1"; var newApiResource2 = "NewApiResource2"; var testApiResourceName1 = "Test-ApiResource-Name-1"; var testApiResourceApiScopeName1 = "Test-ApiResource-ApiScope-Name-1"; var newApiResources = new[] { newApiResource1, newApiResource2 }; //FindApiResourcesByNameAsync (await _apiResourceCache.GetAsync(newApiResource1)).ShouldBeNull(); (await _apiResourceCache.GetAsync(newApiResource2)).ShouldBeNull(); await _resourceStore.FindApiResourcesByNameAsync(newApiResources); (await _apiResourceCache.GetAsync(ResourceStore.ApiResourceNameCacheKeyPrefix + newApiResource1)).ShouldNotBeNull(); (await _apiResourceCache.GetAsync(ResourceStore.ApiResourceNameCacheKeyPrefix + newApiResource2)).ShouldNotBeNull(); var apiResource1 = await _apiResourceRepository.FindByNameAsync(newApiResource1); await _apiResourceRepository.DeleteAsync(apiResource1); (await _apiResourceCache.GetAsync(newApiResource1)).ShouldBeNull(); var apiResource2 = await _apiResourceRepository.FindByNameAsync(newApiResource2); await _apiResourceRepository.DeleteAsync(apiResource2); (await _apiResourceCache.GetAsync(newApiResource2)).ShouldBeNull(); //FindApiResourcesByScopeNameAsync (await _apiResourceCache.GetAsync(ResourceStore.ApiResourceScopeNameCacheKeyPrefix + testApiResourceApiScopeName1)).ShouldBeNull(); await _resourceStore.FindApiResourcesByScopeNameAsync(new[] { testApiResourceApiScopeName1 }); (await _apiResourceCache.GetAsync(ResourceStore.ApiResourceScopeNameCacheKeyPrefix + testApiResourceApiScopeName1)).ShouldNotBeNull(); var testApiResource1 = await _apiResourceRepository.FindByNameAsync(testApiResourceName1); await _apiResourceRepository.DeleteAsync(testApiResource1); (await _apiResourceCache.GetAsync(ResourceStore.ApiResourceScopeNameCacheKeyPrefix + testApiResourceApiScopeName1)).ShouldBeNull(); //Identity Resource var testIdentityResourceName = "Test-Identity-Resource-Name-1"; var testIdentityResourceNames = new[] { testIdentityResourceName }; (await _identityResourceCache.GetAsync(testIdentityResourceName)).ShouldBeNull(); await _resourceStore.FindIdentityResourcesByScopeNameAsync(testIdentityResourceNames); (await _identityResourceCache.GetAsync(testIdentityResourceName)).ShouldNotBeNull(); var testIdentityResource = await _identityResourceRepository.FindByNameAsync(testIdentityResourceName); await _identityResourceRepository.DeleteAsync(testIdentityResource); (await _identityResourceCache.GetAsync(testIdentityResourceName)).ShouldBeNull(); //Api Scope var testApiScopeName = "Test-ApiScope-Name-1"; var testApiScopeNames = new[] { testApiScopeName }; (await _apiScopeCache.GetAsync(testApiScopeName)).ShouldBeNull(); await _resourceStore.FindApiScopesByNameAsync(testApiScopeNames); (await _apiScopeCache.GetAsync(testApiScopeName)).ShouldNotBeNull(); var testApiScope = await _apiScopeRepository.FindByNameAsync(testApiScopeName); await _apiScopeRepository.DeleteAsync(testApiScope); (await _apiScopeCache.GetAsync(testApiScopeName)).ShouldBeNull(); //Resources (await _resourceCache.GetAsync(ResourceStore.AllResourcesKey)).ShouldBeNull(); await _resourceStore.GetAllResourcesAsync(); (await _resourceCache.GetAsync(ResourceStore.AllResourcesKey)).ShouldNotBeNull(); await _identityResourceRepository.DeleteAsync(_testData.IdentityResource1Id); (await _resourceCache.GetAsync(ResourceStore.AllResourcesKey)).ShouldBeNull(); }
public async Task <IdentityResource> GetIdentityResourceAsync(string name) { var resource = await _identityResourceRepository.FindByNameAsync(name); return(resource?.ToModel()); }