Configuration Values
Inheritance: IConfigValues
コード例 #1
0
        public async Task ConstructorSqlToTable()
        {
            var c = new ConfigValues()
            {
                StorageAccountConnection = "UseDevelopmentStorage=true;",
                SqlConnection = "Server=localhost;Database=King.BTrak.Data;Trusted_Connection=True;",
                SqlTableName = "TableData",
                StorageTableName = "sqlserverdata",
                Direction = Direction.SqlToTable,
            };

            var id = Guid.NewGuid();
            var data = Guid.NewGuid();
            var statement = string.Format("INSERT INTO [dbo].[TestSqlToTable] ([Id], [Data]) VALUES ('{0}', '{1}');", id, data);
            var executor = new Executor(new SqlConnection(c.SqlConnection));
            await executor.NonQuery(statement);

            var s = new Synchronizer(c);
            await s.Run();

            await executor.NonQuery("TRUNCATE TABLE [dbo].[TestSqlToTable]");

            var table = new TableStorage(c.StorageTableName, c.StorageAccountConnection);
            var e = await table.QueryByPartitionAndRow("[dbo].[TestSqlToTable]", id.ToString());
            Assert.IsNotNull(e);
            Assert.AreEqual(data, e["Data"]);
        }
コード例 #2
0
        public async Task ConstructorTableToSql()
        {
            var c = new ConfigValues()
            {
                StorageAccountConnection = "UseDevelopmentStorage=true;",
                SqlConnection = "Server=localhost;Database=King.BTrak.Data;Trusted_Connection=True;",
                SqlTableName = "TableData",
                StorageTableName = "sqlserverdata",
                Direction = Direction.TableToSql,
            };

            var tableName = "testsynctabletosql";
            var table = new TableStorage(tableName, c.StorageAccountConnection);
            await table.CreateIfNotExists();
            var entity = new TableEntity
            {
                PartitionKey = Guid.NewGuid().ToString(),
                RowKey = Guid.NewGuid().ToString(),
            };
            await table.InsertOrReplace(entity);

            var s = new Synchronizer(c);
            await s.Run();

            await table.Delete();

            var statement = string.Format("SELECT 1 AS [Exists] FROM [dbo].[TableData] WHERE TableName='{0}' AND PartitionKey = '{1}' AND RowKey = '{2}';", tableName, entity.PartitionKey, entity.RowKey);
            var executor = new Executor(new SqlConnection(c.SqlConnection));
            var ds = await executor.Query(statement);
            var r = ds.Model<DataRow>();
            Assert.IsNotNull(r);
            Assert.IsTrue(r.Exists);
        }
コード例 #3
0
        public void SyncDirection()
        {
            var expected = Direction.SqlToTable;
            var c = new ConfigValues
            {
                Direction = expected,
            };

            Assert.AreEqual(expected, c.Direction);
        }
コード例 #4
0
        public void SqlTableName()
        {
            var expected = Guid.NewGuid().ToString();
            var c = new ConfigValues
            {
                SqlTableName = expected,
            };

            Assert.AreEqual(expected, c.SqlTableName);
        }
コード例 #5
0
        public void StorageAccountConnection()
        {
            var expected = Guid.NewGuid().ToString();
            var c = new ConfigValues
            {
                StorageAccountConnection = expected,
            };

            Assert.AreEqual(expected, c.StorageAccountConnection);
        }
コード例 #6
0
        public void IsISynchronizer()
        {
            var c = new ConfigValues()
            {
                StorageAccountConnection = "UseDevelopmentStorage=true;",
                SqlConnection = "Server=server;Database=database;Trusted_Connection=True;",
                SqlTableName = "tabletable",
                StorageTableName = "tabletable",
                Direction = Direction.SqlToTable,
            };

            Assert.IsNotNull(new Synchronizer(c) as ISynchronizer);
        }
コード例 #7
0
        public void ConstructorSqlToTable()
        {
            var c = new ConfigValues()
            {
                StorageAccountConnection = "UseDevelopmentStorage=true;",
                SqlConnection = "Server=server;Database=database;Trusted_Connection=True;",
                SqlTableName = "tabletable",
                StorageTableName = "tabletable",
                Direction = Direction.SqlToTable,
            };

            new Synchronizer(c);
        }