Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }