internal static ServerListResult DeserializeServerListResult(JsonElement element)
        {
            Optional <IReadOnlyList <SqlServerData> > value = default;
            Optional <string> nextLink = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("value"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    List <SqlServerData> array = new List <SqlServerData>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(SqlServerData.DeserializeSqlServerData(item));
                    }
                    value = array;
                    continue;
                }
                if (property.NameEquals("nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
            }
            return(new ServerListResult(Optional.ToList(value), nextLink.Value));
        }
        SqlServer IOperationSource <SqlServer> .CreateResult(Response response, CancellationToken cancellationToken)
        {
            using var document = JsonDocument.Parse(response.ContentStream);
            var data = SqlServerData.DeserializeSqlServerData(document.RootElement);

            return(new SqlServer(_armClient, data));
        }
Example #3
0
        private async Task <SqlServer> CreateOrUpdateSqlServer(string sqlServerName)
        {
            SqlServerData data = new SqlServerData(AzureLocation.WestUS2)
            {
                AdministratorLogin         = "******" + sqlServerName,
                AdministratorLoginPassword = CreateGeneralPassword(),
            };
            var SqlServer = await _resourceGroup.GetSqlServers().CreateOrUpdateAsync(WaitUntil.Completed, sqlServerName, data);

            return(SqlServer.Value);
        }
        public void ShouldUpdateData()
        {
            // Arrange
            var correlationId = Guid.NewGuid();
            var testDataJson  = "{\"CorrelationId\":\"e845f0a0-4af0-4d1e-a324-790d49d540ae\",\"Name\":\"TestDataOriginal\"}";

            IProcessManagerData data = new TestSqlServerData {
                CorrelationId = correlationId, Name = "TestDataOriginal"
            };
            var       xmlSerializer = new XmlSerializer(data.GetType());
            var       sww           = new StringWriter();
            XmlWriter writer        = XmlWriter.Create(sww);

            xmlSerializer.Serialize(writer, data);
            var dataXml = sww.ToString();

            SetupTestDbData(new List <TestDbRow> {
                new TestDbRow {
                    Id = correlationId.ToString(), DataXml = dataXml
                }
            });

            IProcessManagerData updatedData = new TestSqlServerData {
                CorrelationId = correlationId, Name = "TestDataUpdated"
            };
            var sqlServerData = new SqlServerData <IProcessManagerData> {
                Data = updatedData, Id = correlationId
            };

            IProcessManagerFinder processManagerFinder = new SqlServerProcessManagerFinder(_connectionString, string.Empty);

            // Act
            //processManagerFinder.FindData<TestSqlServerData>(correlationId);
            processManagerFinder.FindData <TestSqlServerData>(_mapper, new Message(correlationId));
            processManagerFinder.UpdateData(sqlServerData);

            // Assert
            var results = GetTestDbData(correlationId);

            Assert.Equal(1, results.Count);
            Assert.Equal(correlationId.ToString(), results[0].Id);
            Assert.False(results[0].DataXml.Contains("TestDataOriginal"));
            Assert.True(results[0].DataXml.Contains("TestDataUpdated"));
        }
Example #5
0
        static void Main(string[] args)
        {
            var t      = new Transform();
            var source = new DelimitedData();

            source.FileName              = "CSV.csv";
            source.DirectoryName         = @"C:\Users\Ehasanul\Desktop\CSV";
            source.FirstRowHasColumnName = true;
            var target = new SqlServerData();

            target.ServerName   = "(local)";
            target.DatabaseName = "ImportTest";
            target.UserName     = "******";
            target.Password     = "******";

            WriteSchemaIniFile(source.DirectoryName, source.FileName);

            List <ColumnMapping> columnMappings = GetMappingColumn();

            t.Execute(source, target, "CSVTest", columnMappings);
        }
        public void ShouldDeleteData()
        {
            // Arrange
            var correlationId = Guid.NewGuid();

            IProcessManagerData data = new TestSqlServerData {
                CorrelationId = correlationId, Name = "TestDataUpdated"
            };
            var       xmlSerializer = new XmlSerializer(data.GetType());
            var       sww           = new StringWriter();
            XmlWriter writer        = XmlWriter.Create(sww);

            xmlSerializer.Serialize(writer, data);
            var dataXml = sww.ToString();

            SetupTestDbData(new List <TestDbRow> {
                new TestDbRow {
                    Id = correlationId.ToString(), DataXml = dataXml, Version = 1
                }
            });

            IProcessManagerFinder processManagerFinder = new SqlServerProcessManagerFinder(_connectionString, string.Empty);

            var sqlServerDataToBeDeleted = new SqlServerData <IProcessManagerData> {
                Data = data, Id = correlationId, Version = 1
            };

            // Act
            processManagerFinder.FindData <TestData>(_mapper, new Message(correlationId));
            processManagerFinder.DeleteData(sqlServerDataToBeDeleted);

            // Assert
            var results = GetTestDbData(correlationId);

            Assert.Equal(0, results.Count);
        }
        public void ShouldDeleteData()
        {
            // Arrange
            var correlationId = Guid.NewGuid();

            IProcessManagerData data = new TestSqlServerData { CorrelationId = correlationId, Name = "TestDataUpdated" };
            var xmlSerializer = new XmlSerializer(data.GetType());
            var sww = new StringWriter();
            XmlWriter writer = XmlWriter.Create(sww);
            xmlSerializer.Serialize(writer, data);
            var dataXml = sww.ToString();

            SetupTestDbData(new List<TestDbRow> { new TestDbRow { Id = correlationId.ToString(), DataXml = dataXml, Version = 1 } });

            IProcessManagerFinder processManagerFinder = new SqlServerProcessManagerFinder(_connectionString, string.Empty);

            var sqlServerDataToBeDeleted = new SqlServerData<IProcessManagerData> { Data = data, Id = correlationId, Version = 1};

            // Act
            processManagerFinder.FindData<TestData>(_mapper, new Message(correlationId));
            processManagerFinder.DeleteData(sqlServerDataToBeDeleted);

            // Assert
            var results = GetTestDbData(correlationId);
            Assert.Equal(0, results.Count);
        }
        public void ShouldUpdateData()
        {
            // Arrange
            var correlationId = Guid.NewGuid();
            var testDataJson = "{\"CorrelationId\":\"e845f0a0-4af0-4d1e-a324-790d49d540ae\",\"Name\":\"TestDataOriginal\"}";

            IProcessManagerData data = new TestSqlServerData { CorrelationId = correlationId, Name = "TestDataOriginal" };
            var xmlSerializer = new XmlSerializer(data.GetType());
            var sww = new StringWriter();
            XmlWriter writer = XmlWriter.Create(sww);
            xmlSerializer.Serialize(writer, data);
            var dataXml = sww.ToString();
            SetupTestDbData(new List<TestDbRow> { new TestDbRow { Id = correlationId.ToString(), DataXml = dataXml } });

            IProcessManagerData updatedData = new TestSqlServerData { CorrelationId = correlationId, Name = "TestDataUpdated" };
            var sqlServerData = new SqlServerData<IProcessManagerData> { Data = updatedData, Id = correlationId };

            IProcessManagerFinder processManagerFinder = new SqlServerProcessManagerFinder(_connectionString, string.Empty);

            // Act
            //processManagerFinder.FindData<TestSqlServerData>(correlationId);
            processManagerFinder.FindData<TestSqlServerData>(_mapper, new Message(correlationId));
            processManagerFinder.UpdateData(sqlServerData);

            // Assert
            var results = GetTestDbData(correlationId);
            Assert.Equal(1, results.Count);
            Assert.Equal(correlationId.ToString(), results[0].Id);
            Assert.False(results[0].DataXml.Contains("TestDataOriginal"));
            Assert.True(results[0].DataXml.Contains("TestDataUpdated"));
        }
 public RabbitListener(SqlServerData db)
 {
     this.db = db;
     db.Database.Migrate();
 }
Example #10
0
        public async Task WebAppSqlConnectionCRUD()
        {
            string resourceGroupName = Recording.GenerateAssetName("SdkRg");
            string webAppName        = Recording.GenerateAssetName("SdkWeb");
            string sqlServerName     = Recording.GenerateAssetName("SdkSql");
            string sqlDatabaseName   = Recording.GenerateAssetName("SdkSql");
            string sqlUserName       = Recording.GenerateAssetName("SdkSql");
            string sqlPassword       = Recording.GenerateAssetName("SdkPa5$");
            string linkerName        = Recording.GenerateAssetName("SdkLinker");

            // create resource group
            await ResourceGroups.CreateOrUpdateAsync(WaitUntil.Completed, resourceGroupName, new Resources.ResourceGroupData(DefaultLocation));

            ResourceGroupResource resourceGroup = await ResourceGroups.GetAsync(resourceGroupName);

            // // create web app
            WebSiteCollection webSites = resourceGroup.GetWebSites();
            await webSites.CreateOrUpdateAsync(WaitUntil.Completed, webAppName, new WebSiteData(DefaultLocation));

            WebSiteResource webapp = await webSites.GetAsync(webAppName);

            // create sql database
            SqlServerCollection sqlServers    = resourceGroup.GetSqlServers();
            SqlServerData       sqlServerData = new SqlServerData(DefaultLocation)
            {
                AdministratorLogin         = sqlUserName,
                AdministratorLoginPassword = sqlPassword,
            };
            await sqlServers.CreateOrUpdateAsync(WaitUntil.Completed, sqlServerName, sqlServerData);

            SqlServerResource sqlServer = await sqlServers.GetAsync(sqlServerName);

            SqlDatabaseCollection sqlDatabases = sqlServer.GetSqlDatabases();
            await sqlDatabases.CreateOrUpdateAsync(WaitUntil.Completed, sqlDatabaseName, new SqlDatabaseData(DefaultLocation));

            SqlDatabaseResource sqlDatabase = await sqlDatabases.GetAsync(sqlDatabaseName);

            // create service linker
            LinkerResourceCollection linkers = webapp.GetLinkerResources();
            var linkerData = new LinkerResourceData
            {
                TargetService = new Models.AzureResource
                {
                    Id = sqlDatabase.Id,
                },
                AuthInfo = new SecretAuthInfo
                {
                    Name       = sqlUserName,
                    SecretInfo = new ValueSecretInfo
                    {
                        Value = sqlPassword,
                    },
                },
                ClientType = ClientType.Dotnet,
            };
            await linkers.CreateOrUpdateAsync(WaitUntil.Completed, linkerName, linkerData);

            // list service linker
            var linkerResources = await linkers.GetAllAsync().ToEnumerableAsync();

            Assert.AreEqual(1, linkerResources.Count);
            Assert.AreEqual(linkerName, linkerResources[0].Data.Name);

            // get service linker
            LinkerResource linker = await linkers.GetAsync(linkerName);

            Assert.IsTrue(linker.Id.ToString().StartsWith(webapp.Id.ToString(), StringComparison.InvariantCultureIgnoreCase));
            Assert.AreEqual(sqlDatabase.Id.ToString(), (linker.Data.TargetService as AzureResource).Id);
            Assert.AreEqual(AuthType.Secret, linker.Data.AuthInfo.AuthType);

            // get service linker configurations
            SourceConfigurationResult configurations = await linker.GetConfigurationsAsync();

            foreach (var configuration in configurations.Configurations)
            {
                Assert.IsNotNull(configuration.Name);
                Assert.IsNotNull(configuration.Value);
            }

            // delete service linker
            var operation = await linker.DeleteAsync(WaitUntil.Completed);

            Assert.IsTrue(operation.HasCompleted);
        }