public async Task Test_Sqlite_Sqlite_DataRetention()
        {
            var localDbFile  = $"{Path.GetTempPath()}Test_Sqlite_Sqlite_DataRetention_local.sqlite";
            var remoteDbFile = $"{Path.GetTempPath()}Test_Sqlite_Sqlite_DataRetention_remote.sqlite";

            if (File.Exists(localDbFile))
            {
                File.Delete(localDbFile);
            }
            if (File.Exists(remoteDbFile))
            {
                File.Delete(remoteDbFile);
            }

            using (var localDb = new SqliteBlogDbContext($"Data Source={localDbFile}"))
                using (var remoteDb = new SqliteBlogDbContext($"Data Source={remoteDbFile}"))
                {
                    await localDb.Database.EnsureDeletedAsync();

                    await remoteDb.Database.EnsureDeletedAsync();

                    await localDb.Database.MigrateAsync();

                    await remoteDb.Database.MigrateAsync();

                    var remoteConfigurationBuilder =
                        new SqliteSyncConfigurationBuilder(remoteDb.ConnectionString)
                        .Table("Users")
                        .Table("Posts")
                        .Table("Comments");

                    var remoteSyncProvider = new SqliteSyncProvider(remoteConfigurationBuilder.Build(), ProviderMode.Remote, logger: new ConsoleLogger("REM"));

                    var localConfigurationBuilder =
                        new SqliteSyncConfigurationBuilder(localDb.ConnectionString)
                        .Table <User>("Users")
                        .Table <Post>("Posts")
                        .Table <Comment>("Comments");

                    var localSyncProvider = new SqliteSyncProvider(localConfigurationBuilder.Build(), ProviderMode.Local, logger: new ConsoleLogger("LOC"));


                    await TestSyncAgentWithDataRetention(localDb, localSyncProvider, remoteDb, remoteSyncProvider);
                }
        }
Exemplo n.º 2
0
        public async Task Test1_Sqlite_Sqlite()
        {
            var localDbFile  = $"{Path.GetTempPath()}Test1_Sqlite_Sqlite_local.sqlite";
            var remoteDbFile = $"{Path.GetTempPath()}Test1_Sqlite_Sqlite_remote.sqlite";

            if (File.Exists(localDbFile))
            {
                File.Delete(localDbFile);
            }
            if (File.Exists(remoteDbFile))
            {
                File.Delete(remoteDbFile);
            }

            using (var localDb = new SqliteBlogDbContext($"Data Source={localDbFile}"))
                using (var remoteDb = new SqliteBlogDbContext($"Data Source={remoteDbFile}"))
                {
                    await localDb.Database.EnsureDeletedAsync();

                    await remoteDb.Database.EnsureDeletedAsync();

                    await localDb.Database.MigrateAsync();

                    await remoteDb.Database.MigrateAsync();

                    var remoteConfigurationBuilder =
                        new SqliteSyncConfigurationBuilder(remoteDb.ConnectionString)
                        .Table <User>("Users")
                        .Table <Post>("Posts")
                        .Table <Comment>("Comments");

                    var remoteSyncProvider = new SqliteSyncProvider(remoteConfigurationBuilder.Configuration);

                    var localConfigurationBuilder =
                        new SqliteSyncConfigurationBuilder(localDb.ConnectionString)
                        .Table <User>("Users")
                        .Table <Post>("Posts")
                        .Table <Comment>("Comments");

                    var localSyncProvider = new SqliteSyncProvider(localConfigurationBuilder.Configuration);


                    await Test1(localDb, localSyncProvider, remoteDb, remoteSyncProvider);
                }
        }
        public async Task Test1_SqlServer_Sqlite()
        {
            var remoteDbFile = $"{Path.GetTempPath()}Test1_SqlServer_Sqlite_remote.sqlite";

            if (File.Exists(remoteDbFile))
            {
                File.Delete(remoteDbFile);
            }

            using var localDb  = new SqlServerBlogDbContext(ConnectionString + ";Initial Catalog=Test1_Local");
            using var remoteDb = new SqliteBlogDbContext($"Data Source={remoteDbFile}");
            await localDb.Database.EnsureDeletedAsync();

            await remoteDb.Database.EnsureDeletedAsync();

            await localDb.Database.MigrateAsync();

            await remoteDb.Database.MigrateAsync();

            var remoteConfigurationBuilder =
                new SqliteSyncConfigurationBuilder(remoteDb.ConnectionString)
                .Table <User>("Users")
                .Table <Post>("Posts")
                .Table <Comment>("Comments");

            var remoteSyncProvider = new SqliteSyncProvider(remoteConfigurationBuilder.Build(), logger: new ConsoleLogger("REM"));
            await remoteSyncProvider.ApplyProvisionAsync();

            var localConfigurationBuilder =
                new SqlSyncConfigurationBuilder(localDb.ConnectionString)
                .Table("Users")
                .Table("Posts")
                .Table("Comments");


            var localSyncProvider = new SqlSyncProvider(localConfigurationBuilder.Build(), logger: new ConsoleLogger("LOC"));
            await localSyncProvider.ApplyProvisionAsync();


            await Test1(localDb, localSyncProvider, remoteDb, remoteSyncProvider);
        }