Beispiel #1
0
        public void Should_Get_From_Cache()
        {
            var entityDynamicParameterStoreSubstitute = RegisterFake <IEntityDynamicParameterStore>();

            var(entityDynamicParameterManagerCache, entityDynamicParameterManager) = InitializeEntityDynamicParameterManagerWithCacheSubstitute();

            var dynamicParameter       = CreateAndGetDynamicParameterWithTestPermission();
            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            entityDynamicParameterManagerCache
            .Get(entityDynamicParameter.Id.ToString(), Arg.Any <Func <string, object> >())
            .Returns(entityDynamicParameter);

            var entity = entityDynamicParameterManager.Get(entityDynamicParameter.Id);

            CheckEquality(entity, entityDynamicParameter);

            entityDynamicParameterManagerCache.Received().Get(entityDynamicParameter.Id.ToString(), Arg.Any <Func <string, object> >());
            entityDynamicParameterStoreSubstitute.DidNotReceive().Get(entityDynamicParameter.Id);
        }
Beispiel #2
0
        public async Task Should_Add_Parameter_Async()
        {
            var(entityDynamicParameterManagerCache, entityDynamicParameterManager) = InitializeEntityDynamicParameterManagerWithCacheSubstitute();
            var dynamicParameter = CreateAndGetDynamicParameterWithTestPermission();

            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            await RunAndCheckIfPermissionControlledAsync(async() =>
            {
                await entityDynamicParameterManager.AddAsync(entityDynamicParameter);
            });

            await entityDynamicParameterManagerCache.Received().SetAsync(entityDynamicParameter.Id.ToString(), entityDynamicParameter);

            WithUnitOfWork(() =>
            {
                var val = entityDynamicParameterManager.Get(entityDynamicParameter.Id);

                val.ShouldNotBeNull();

                val.DynamicParameterId.ShouldBe(entityDynamicParameter.DynamicParameterId);
                val.EntityFullName.ShouldBe(entityDynamicParameter.EntityFullName);
            });
        }
Beispiel #3
0
 private void CheckEquality(EntityDynamicParameter edp1, EntityDynamicParameter edp2)
 {
     edp1.ShouldNotBeNull();
     edp2.ShouldNotBeNull();
     edp1.DynamicParameterId.ShouldBe(edp2.DynamicParameterId);
     edp1.EntityFullName.ShouldBe(edp2.EntityFullName);
     edp1.TenantId.ShouldBe(edp2.TenantId);
 }
Beispiel #4
0
        public static async Task <EntityDynamicParameter> AddAsync <TEntity, TPrimaryKey>(this IEntityDynamicParameterManager manager, int dynamicParameterId, int?tenantId)
            where TEntity : IEntity <TPrimaryKey>
        {
            var entity = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameterId,
                EntityFullName     = typeof(TEntity).FullName,
                TenantId           = tenantId
            };
            await manager.AddAsync(entity);

            return(entity);
        }
Beispiel #5
0
        public async Task Should_Delete_Parameter_Async()
        {
            var(entityDynamicParameterManagerCache, entityDynamicParameterManager) = InitializeEntityDynamicParameterManagerWithCacheSubstitute();
            var dynamicParameter = CreateAndGetDynamicParameterWithTestPermission();

            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            await WithUnitOfWorkAsync(async() =>
            {
                await entityDynamicParameterManager.AddAsync(entityDynamicParameter);
            });

            await entityDynamicParameterManagerCache.Received().SetAsync(entityDynamicParameter.Id.ToString(), entityDynamicParameter);

            await WithUnitOfWorkAsync(async() =>
            {
                var val = await entityDynamicParameterManager.GetAsync(entityDynamicParameter.Id);

                val.ShouldNotBeNull();
                val.DynamicParameterId.ShouldBe(entityDynamicParameter.DynamicParameterId);
                val.EntityFullName.ShouldBe(entityDynamicParameter.EntityFullName);
            });

            entityDynamicParameterManagerCache.ClearReceivedCalls();
            await RunAndCheckIfPermissionControlledAsync(async() =>
            {
                await entityDynamicParameterManager.DeleteAsync(entityDynamicParameter.Id);
            });

            await entityDynamicParameterManagerCache.Received().RemoveAsync(entityDynamicParameter.Id.ToString());

            await WithUnitOfWorkAsync(async() =>
            {
                try
                {
                    var val = await entityDynamicParameterManager.GetAsync(entityDynamicParameter.Id);
                    val.ShouldBeNull();
                }
                catch (EntityNotFoundException)
                {
                }
            });
        }
Beispiel #6
0
        public void Should_Update_Parameter()
        {
            var(entityDynamicParameterManagerCache, entityDynamicParameterManager) = InitializeEntityDynamicParameterManagerWithCacheSubstitute();

            var dynamicParameter       = CreateAndGetDynamicParameterWithTestPermission();
            var dynamicParameter2      = CreateAndGetDynamicParameterWithTestPermission();
            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            WithUnitOfWork(() =>
            {
                entityDynamicParameterManager.Add(entityDynamicParameter);
            });

            entityDynamicParameterManagerCache.Received().Set(entityDynamicParameter.Id.ToString(), entityDynamicParameter);
            entityDynamicParameterManagerCache.ClearReceivedCalls();

            WithUnitOfWork(() =>
            {
                entityDynamicParameter = entityDynamicParameterManager.Get(entityDynamicParameter.Id);

                entityDynamicParameter.ShouldNotBeNull();
                entityDynamicParameter.DynamicParameterId.ShouldBe(entityDynamicParameter.DynamicParameterId);
                entityDynamicParameter.EntityFullName.ShouldBe(entityDynamicParameter.EntityFullName);
            });

            entityDynamicParameter.DynamicParameterId = dynamicParameter2.Id;

            entityDynamicParameterManagerCache.ClearReceivedCalls();
            RunAndCheckIfPermissionControlled(() =>
            {
                entityDynamicParameterManager.Update(entityDynamicParameter);
            });
            entityDynamicParameterManagerCache.Received().Set(entityDynamicParameter.Id.ToString(), entityDynamicParameter);

            WithUnitOfWork(() =>
            {
                var val = entityDynamicParameterManager.Get(entityDynamicParameter.Id);

                val.ShouldNotBeNull();
                val.DynamicParameterId.ShouldBe(dynamicParameter2.Id);
            });
        }
Beispiel #7
0
        protected EntityDynamicParameter CreateAndGetEntityDynamicParameter()
        {
            var dynamicParameter = CreateAndGetDynamicParameterWithTestPermission();

            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            WithUnitOfWork(() =>
            {
                EntityDynamicParameterStore.Add(entityDynamicParameter);
            });
            return(entityDynamicParameter);
        }
Beispiel #8
0
        public void Should_Not_Update_Parameter_If_Entity_Not_Registered_Async()
        {
            var(entityDynamicParameterManagerCache, entityDynamicParameterManager) = InitializeEntityDynamicParameterManagerWithCacheSubstitute();


            var dynamicParameter       = CreateAndGetDynamicParameterWithTestPermission();
            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            WithUnitOfWork(() =>
            {
                entityDynamicParameterManager.Add(entityDynamicParameter);
            });

            entityDynamicParameterManagerCache.Received().Set(entityDynamicParameter.Id.ToString(), entityDynamicParameter);
            entityDynamicParameterManagerCache.ClearReceivedCalls();

            WithUnitOfWork(() =>
            {
                entityDynamicParameter = entityDynamicParameterManager.Get(entityDynamicParameter.Id);

                entityDynamicParameter.ShouldNotBeNull();
                entityDynamicParameter.DynamicParameterId.ShouldBe(entityDynamicParameter.DynamicParameterId);
                entityDynamicParameter.EntityFullName.ShouldBe(entityDynamicParameter.EntityFullName);
            });

            entityDynamicParameter.EntityFullName = typeof(Post).FullName;
            try
            {
                entityDynamicParameterManager.Update(entityDynamicParameter);
                throw new Exception("Should check if entity registered");
            }
            catch (Exception e)
            {
                e.Message.ShouldContain(typeof(Post).FullName);
            }
        }
Beispiel #9
0
        public void Should_Not_Add_Parameter_If_Entity_Not_Registered()
        {
            var(entityDynamicParameterManagerCache, entityDynamicParameterManager) = InitializeEntityDynamicParameterManagerWithCacheSubstitute();

            var dynamicParameter       = CreateAndGetDynamicParameterWithTestPermission();
            var entityDynamicParameter = new EntityDynamicParameter()
            {
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = typeof(Post).FullName,
                TenantId           = AbpSession.TenantId
            };

            try
            {
                entityDynamicParameterManager.Add(entityDynamicParameter);
                throw new Exception("Should check if entity registered");
            }
            catch (Exception e)
            {
                e.Message.ShouldContain(typeof(Post).FullName);
            }
        }
Beispiel #10
0
        public void Should_Get_From_Db()
        {
            var dynamicParameter = CreateAndGetDynamicParameterWithTestPermission();

            var entityDynamicParameter = new EntityDynamicParameter()
            {
                Id = -1,
                DynamicParameterId = dynamicParameter.Id,
                EntityFullName     = TestEntityFullName,
                TenantId           = AbpSession.TenantId
            };

            var entityDynamicParameterStoreSubstitute = RegisterFake <IEntityDynamicParameterStore>();

            entityDynamicParameterStoreSubstitute.Get(entityDynamicParameter.Id).Returns(entityDynamicParameter);

            var entityDynamicParameterManager = Resolve <IEntityDynamicParameterManager>();

            var entity = entityDynamicParameterManager.Get(entityDynamicParameter.Id);

            CheckEquality(entity, entityDynamicParameter);

            entityDynamicParameterStoreSubstitute.Received().Get(entityDynamicParameter.Id);
        }