public void GetPermissionNameFormCacheKeyOrNull() { var key = PermissionGrantCacheItem.CalculateCacheKey("aaa", "bbb", "ccc"); PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull(key).ShouldBe("aaa"); PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull("aaabbbccc").ShouldBeNull(); }
public async Task PermissionStore_IsGrantedAsync_Should_Cache_PermissionGrant() { (await _cache.GetAsync(PermissionGrantCacheItem.CalculateCacheKey("MyPermission1", UserPermissionValueProvider.ProviderName, PermissionTestDataBuilder.User1Id.ToString())).ConfigureAwait(false)).ShouldBeNull(); await _permissionStore.IsGrantedAsync("MyPermission1", UserPermissionValueProvider.ProviderName, PermissionTestDataBuilder.User1Id.ToString()).ConfigureAwait(false); (await _cache.GetAsync(PermissionGrantCacheItem.CalculateCacheKey("MyPermission1", UserPermissionValueProvider.ProviderName, PermissionTestDataBuilder.User1Id.ToString())).ConfigureAwait(false)).ShouldNotBeNull(); }
public virtual async Task <PermissionGrant> UpdateProviderKeyAsync(PermissionGrant permissionGrant, string providerKey) { using (CurrentTenant.Change(permissionGrant.TenantId)) { //Invalidating the cache for the old key await Cache.RemoveAsync( PermissionGrantCacheItem.CalculateCacheKey( permissionGrant.Name, permissionGrant.ProviderName, permissionGrant.ProviderKey ) ); } permissionGrant.ProviderKey = providerKey; return(await PermissionGrantRepository.UpdateAsync(permissionGrant)); }
public async Task Cache_Should_Invalidator_WhenPermissionGrantChanged() { // IsGrantedAsync will cache PermissionGrant await _permissionStore.IsGrantedAsync("MyPermission1", UserPermissionValueProvider.ProviderName, PermissionTestDataBuilder.User1Id.ToString()).ConfigureAwait(false); var permissionGrant = await _permissionGrantRepository.FindAsync("MyPermission1", UserPermissionValueProvider.ProviderName, PermissionTestDataBuilder.User1Id.ToString()).ConfigureAwait(false); permissionGrant.ShouldNotBeNull(); await _permissionGrantRepository.DeleteAsync(permissionGrant).ConfigureAwait(false); (await _cache.GetAsync(PermissionGrantCacheItem.CalculateCacheKey("MyPermission1", UserPermissionValueProvider.ProviderName, PermissionTestDataBuilder.User1Id.ToString())).ConfigureAwait(false)).ShouldBeNull(); }
protected virtual string CalculateCacheKey(string name, string providerName, string providerKey) { return(PermissionGrantCacheItem.CalculateCacheKey(name, providerName, providerKey)); }