public async Task UpdateFromServer(SyncConfiguration conf) { Guid guid = Guid.NewGuid(); var updateRowScript = $@"Update ""ServiceTickets"" Set ""Title"" = 'Updated from server {guid.ToString()}' Where ""ServiceTicketID"" = (SELECT ""ServiceTicketID"" FROM ""ServiceTickets"" LIMIT 1)"; using (var sqlConnection = new NpgsqlConnection(fixture.ServerConnectionString)) { using (var sqlCmd = new NpgsqlCommand(updateRowScript, sqlConnection)) { sqlConnection.Open(); sqlCmd.ExecuteNonQuery(); sqlConnection.Close(); } } var serverProvider = new PostgreSqlSyncProvider(fixture.ServerConnectionString); var clientProvider = new SqliteSyncProvider(fixture.ClientSqliteDb); //var simpleConfiguration = new SyncConfiguration(Tables); var agent = new SyncAgent(clientProvider, serverProvider); agent.Configuration = conf; agent.Configuration.Add(fixture.Tables); var session = await agent.SynchronizeAsync(); Assert.Equal(1, session.TotalChangesDownloaded); Assert.Equal(0, session.TotalChangesUploaded); }
public PostgreSqlSyncSimpleFixture() { // create databases helperDb.ExecutePostgreSqlScript(serverDbName, "", @"drop schema IF EXISTS ""unittest_dev"" cascade; create schema ""unittest_dev""; ALTER DEFAULT PRIVILEGES IN SCHEMA unittest_dev GRANT ALL ON TABLES TO unittester; GRANT ALL ON SCHEMA unittest_dev TO unittester; "); // create table helperDb.ExecutePostgreSqlScript(serverDbName, serverSchemaName, createTableScript); // insert table helperDb.ExecutePostgreSqlScript(serverDbName, serverSchemaName, datas); if (File.Exists(ClientSqliteDb)) { File.Delete(ClientSqliteDb); } var serverProvider = new PostgreSqlSyncProvider(ServerConnectionString); var clientProvider = new SqliteSyncProvider(ClientSqliteDb); var simpleConfiguration = new SyncConfiguration(Tables); Agent = new SyncAgent(clientProvider, serverProvider, simpleConfiguration); }