public void DropStructureSet_WhenCalledTwice_DropperIsCalledTwice()
        {
            var upserterFake = new Mock <IDbSchemaUpserter>();
            var dbClientFake = CreateDbClientFake();

            var manager = new DbSchemas(Mock.Of <ISisoDatabase>(), upserterFake.Object);

            manager.Drop(_structureSchema, dbClientFake.Object);
            manager.Drop(_structureSchema, dbClientFake.Object);

            dbClientFake.Verify(f => f.Drop(_structureSchema), Times.Exactly(2));
        }
示例#2
0
        protected virtual void OnDropStructureSets(Type[] types)
        {
            using (var dbClient = ProviderFactory.GetTransactionalDbClient(_connectionInfo))
            {
                foreach (var type in types)
                {
                    CacheProvider.ClearByType(type);

                    var structureSchema = StructureSchemas.GetSchema(type);
                    DbSchemas.Drop(structureSchema, dbClient);
                    StructureSchemas.RemoveSchema(type);
                }
            }
        }
示例#3
0
        protected virtual void OnUpsertStructureSets(Type[] types)
        {
            if (!Settings.AllowsAnyDynamicSchemaChanges())
            {
                return;
            }

            using (var dbClient = ProviderFactory.GetTransactionalDbClient(_connectionInfo))
            {
                foreach (var type in types)
                {
                    CacheProvider.ClearByType(type);

                    var structureSchema = StructureSchemas.GetSchema(type);
                    DbSchemas.Upsert(structureSchema, dbClient);
                }
            }
        }
        public void UpsertStructureSet_WhenDbSettingsAllowsCreationButNotUpdate_UpserterIsCalledOnce()
        {
            var settings = new Mock <IDbSettings>();

            settings.SetupGet(f => f.AllowDynamicSchemaCreation).Returns(true);
            settings.SetupGet(f => f.AllowDynamicSchemaUpdates).Returns(false);
            var dbFake = new Mock <ISisoDatabase>();

            dbFake.SetupGet(f => f.Settings).Returns(settings.Object);
            var upserterFake = new Mock <IDbSchemaUpserter>();
            var dbClientFake = CreateDbClientFake();

            var manager = new DbSchemas(dbFake.Object, upserterFake.Object);

            manager.Upsert(_structureSchema, dbClientFake.Object);

            upserterFake.Verify(f => f.Upsert(_structureSchema, dbClientFake.Object, true, false), Times.Once());
        }
示例#5
0
 protected virtual void OnClearCache()
 {
     CacheProvider.ClearAll();
     DbSchemas.ClearCache();
 }