コード例 #1
0
        private void TestLinkedServiceJsonSample(JsonSampleInfo sampleInfo)
        {
            Core.Models.LinkedService linkedServiceIn =
                Core.DataFactoryManagementClient.DeserializeInternalLinkedServiceJson(sampleInfo.Json);

            Core.Models.LinkedService linkedServiceOut =
                Core.DataFactoryManagementClient.DeserializeInternalLinkedServiceJson(sampleInfo.Json);

            var expectedActivityConfiguration = new ActivityConfiguration()
            {
                Inputs = new Collection<ResolvedTable>()
                {
                    new ResolvedTable()
                    {
                        LinkedService = this.linkedServiceConverter.ToWrapperType(linkedServiceIn),
                    },
                },
                Outputs = new Collection<ResolvedTable>()
                {
                    new ResolvedTable()
                    {
                        LinkedService = this.linkedServiceConverter.ToWrapperType(linkedServiceOut),
                    },
                },
            };

            this.TestJsonSample(string.Concat("{ \"inputs\" : [{ \"linkedService\":", sampleInfo.Json, "}], \"outputs\" : [{ \"linkedService\":", sampleInfo.Json, "}]}"), expectedActivityConfiguration);
        }
コード例 #2
0
 public void TableWithExtraPropertiesTest(JsonSampleInfo sampleInfo)
 {
     if (sampleInfo.Version != null 
         && sampleInfo.Version.Equals(JsonSampleType.ExtraProperties, StringComparison.Ordinal))
     {
         JsonSampleCommon.TestJsonSample(sampleInfo, this.TestTableJson);
     }
 }
コード例 #3
0
        public static void TestJsonSample(JsonSampleInfo sampleInfo, Action <JsonSampleInfo> testMethod)
        {
            AdfTestLogger.LogInformation(string.Format(
                                             CultureInfo.InvariantCulture,
                                             "Testing JSON sample '{0}': {1}",
                                             sampleInfo.Name,
                                             sampleInfo.Json));

            testMethod(sampleInfo);
        }
コード例 #4
0
        private void TestComputeTypeJson(JsonSampleInfo sampleInfo)
        {
            string json = sampleInfo.Json;
            ComputeType computeType = this.ConvertToWrapper(json);
            CoreRegistrationModel.ComputeType actual = this.Operations.Converter.ToCoreType(computeType);

            string actualJson = Core.DataFactoryManagementClient.SerializeInternalComputeTypeToJson(actual);

            JsonComparer.ValidateAreSame(json, actualJson, ignoreDefaultValues: true);
            Assert.False(actualJson.Contains("ServiceExtraProperties"));
        }
コード例 #5
0
        private void TestTableJsonSample(JsonSampleInfo sampleInfo)
        {
            Core.Models.Table table =
                Core.DataFactoryManagementClient.DeserializeInternalTableJson(sampleInfo.Json);

            var expectedDataSet = new DataSet()
            {
                Table = this.tableConverter.ToWrapperType(table)
            };

            this.TestDataSetJsonSample("table", expectedDataSet, sampleInfo);
        }
コード例 #6
0
        private void TestLinkedServiceJsonSample(JsonSampleInfo sampleInfo)
        {
            Core.Models.LinkedService linkedService =
                Core.DataFactoryManagementClient.DeserializeInternalLinkedServiceJson(sampleInfo.Json);

            var expectedDataSet = new DataSet()
            {
                LinkedService = this.linkedServiceConverter.ToWrapperType(linkedService)
            };

            this.TestDataSetJsonSample("linkedService", expectedDataSet, sampleInfo);
        }
コード例 #7
0
        private void TestActivityTypeJson(JsonSampleInfo sampleInfo)
        {
            string json = sampleInfo.Json;
            ActivityType activityType = this.ConvertToWrapper(json);
            CoreRegistrationModel.ActivityType actual = this.Operations.Converter.ToCoreType(activityType);

            string actualJson = Core.DataFactoryManagementClient.SerializeInternalActivityTypeToJson(actual);

            JsonComparer.ValidateAreSame(json, actualJson, ignoreDefaultValues: true);
            Assert.False(actualJson.Contains("ServiceExtraProperties"));

            JObject actualJObject = JObject.Parse(actualJson);
            JsonComparer.ValidatePropertyNameCasing(actualJObject, true, string.Empty, sampleInfo.PropertyBagKeys);
        }
コード例 #8
0
        /// <summary>
        /// Gets all JSON samples from the files in the given folder.
        /// </summary>
        /// <param name="folder"></param>
        /// <returns></returns>
        public static IEnumerable <JsonSampleInfo> GetJsonSamplesFromFolder(string folder)
        {
            foreach (string fileName in Directory.GetFiles(folder))
            {
                string         json = File.ReadAllText(fileName);
                JsonSampleInfo info = new JsonSampleInfo(fileName, json, null);
                if (fileName.Contains("DP_AzureMLSqlReaderSqlWriter.json"))
                {
                    HashSet <string> propertyBagKeys = new HashSet <string>()
                    {
                        "properties.activities[0].transformation.webServiceParameters.Database server name1",
                        "properties.activities[0].transformation.webServiceParameters.Database name1",
                        "properties.activities[0].transformation.webServiceParameters.Server user account name1",
                        "properties.activities[0].transformation.webServiceParameters.Server user account password1",
                        "properties.activities[0].transformation.webServiceParameters.Comma separated list of columns to be saved",
                        "properties.activities[0].transformation.webServiceParameters.Data table name"
                    };
                    info.PropertyBagKeys = propertyBagKeys;
                }

                yield return(info);
            }
        }
コード例 #9
0
 public void DatasetValidateJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestDatasetValidation);
 }
コード例 #10
0
 public void ActivityConfigurationTableJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestTableJsonSample);
 }
コード例 #11
0
 public void ActivityConfigurationLinkedServiceJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestLinkedServiceJsonSample);
 }
コード例 #12
0
        private void TestPipelineJsonSample(JsonSampleInfo sampleInfo)
        {
            Core.Models.Pipeline pipeline =
                Core.DataFactoryManagementClient.DeserializeInternalPipelineJson(sampleInfo.Json);

            var expectedActivityConfiguration = new ActivityConfiguration()
            {
                Pipeline = this.pipelineConverter.ToWrapperType(pipeline)
            };

            this.TestJsonSample(string.Concat("{ \"pipeline\" : ", sampleInfo.Json, "}"), expectedActivityConfiguration);
        }
コード例 #13
0
 public void DataSetTableJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestTableJsonSample);
 }
コード例 #14
0
 private void TestTableValidation(JsonSampleInfo sampleInfo)
 {
     this.TestTableValidation(sampleInfo.Json);
 }
コード例 #15
0
 public void CanConvertTableWithNullTypePropertyValuesTest(string json)
 {
     JsonSampleInfo sample = new JsonSampleInfo("TableWithNullTypePropertyValues", json, null);
     this.TestTableJson(sample);
 }
コード例 #16
0
        private void TestPipelineJson(JsonSampleInfo sampleInfo)
        {
            string json = sampleInfo.Json;
            Pipeline pipeline = this.ConvertToWrapper(json);
            CoreModel.Pipeline actual = this.Operations.Converter.ToCoreType(pipeline);

            string actualJson = Core.DataFactoryManagementClient.SerializeInternalPipelineToJson(actual);

            JsonComparer.ValidateAreSame(json, actualJson, ignoreDefaultValues: true);
            Assert.DoesNotContain("ServiceExtraProperties", actualJson);

            if (sampleInfo.Version == null)
            {
                foreach (Activity activity in pipeline.Properties.Activities)
                {
                    Assert.IsNotType<GenericActivity>(activity.TypeProperties);
                }
            }
        }
コード例 #17
0
 private void TestLinkedServiceCustomJson(JsonSampleInfo sampleInfo)
 {
     this.ConvertAndTestJson(sampleInfo.Json, true); 
 }
コード例 #18
0
 public void CanConvertLinkedServiceWithNullTypePropertyValuesTest(string json)
 {
     JsonSampleInfo sample = new JsonSampleInfo("LinkedServiceWithNullTypePropertyValues", json, null);
     this.TestLinkedServiceJson(sample);
 }
コード例 #19
0
 private void TestDataSetJsonSample(string token, DataSet expectedDataSet, JsonSampleInfo sampleInfo)
 {
     DataSet actualDataSet =
         JsonConvert.DeserializeObject<DataSet>(string.Concat("{ \"", token, "\" : ", sampleInfo.Json, "}"));
     Common.ValidateAreSame(expectedDataSet, actualDataSet); 
 }
コード例 #20
0
        private void TestPipelineJson(JsonSampleInfo sampleInfo)
        {
            string json = sampleInfo.Json;
            Pipeline pipeline = this.ConvertToWrapper(json);
            CoreModel.Pipeline actual = this.Operations.Converter.ToCoreType(pipeline);

            string actualJson = Core.DataFactoryManagementClient.SerializeInternalPipelineToJson(actual);

            JsonComparer.ValidateAreSame(json, actualJson, ignoreDefaultValues: true);
            Assert.DoesNotContain("ServiceExtraProperties", actualJson);

            if (sampleInfo.Version == null
                || !sampleInfo.Version.Equals(JsonSampleType.Unregistered, StringComparison.OrdinalIgnoreCase))
            {
                foreach (Activity activity in pipeline.Properties.Activities)
                {
                    Assert.IsNotType<GenericActivity>(activity.TypeProperties);
                }
            }

            JObject actualJObject = JObject.Parse(actualJson);
            JsonComparer.ValidatePropertyNameCasing(actualJObject, true, string.Empty, sampleInfo.PropertyBagKeys);
        }
コード例 #21
0
 public void ComputeTypeJsonConstsToWrappedObjectTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestComputeTypeJson);
 }
コード例 #22
0
 public void PipelineJsonConstsToWrappedObjectTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestPipelineJson);
 }
コード例 #23
0
 public void DatasetJsonConstsToWrappedObjectTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestDatasetJson);
 }
コード例 #24
0
 private void TestDatasetValidation(JsonSampleInfo sampleInfo)
 {
     this.TestDatasetValidation(sampleInfo.Json);
 }
コード例 #25
0
        private void TestTableJson(JsonSampleInfo info)
        {
            string json = info.Json;
            Table table = this.ConvertToWrapper(json);
            CoreModel.Table actual = this.Operations.Converter.ToCoreType(table);
            string actualJson = Core.DataFactoryManagementClient.SerializeInternalTableToJson(actual);
            
            JsonComparer.ValidateAreSame(json, actualJson, ignoreDefaultValues: true);

            if (info.Version == null
                || !info.Version.Equals(JsonSampleType.Unregistered, StringComparison.OrdinalIgnoreCase))
            {
                Assert.IsNotType<GenericDataset>(table.Properties.TypeProperties);
            }
        }
コード例 #26
0
 public void LinkedServiceWithExtraPropertiesTest(JsonSampleInfo sampleInfo)
 {
     if (sampleInfo.Version != null
         && sampleInfo.Version.Equals("ExtraProperties", StringComparison.Ordinal))
     {
         JsonSampleCommon.TestJsonSample(sampleInfo, this.TestLinkedServiceJson);
     }
 }
コード例 #27
0
 private void TestLinkedServiceValidation(JsonSampleInfo sampleInfo)
 {
     this.TestLinkedServiceValidation(sampleInfo.Json);
 }
コード例 #28
0
 public void DataSetLinkedServiceJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestLinkedServiceJsonSample);
 }
コード例 #29
0
 private void TestPipelineValidation(JsonSampleInfo sampleInfo)
 {
     this.TestPipelineValidation(sampleInfo.Json);
 }
コード例 #30
0
 public void LinkedServiceValidateJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestLinkedServiceValidation);
 }
コード例 #31
0
 public void PipelineValidateJsonConstsTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestPipelineValidation);
 }
コード例 #32
0
 public void CustomLinkedServiceJsonConstsToWrappedObjectTest(JsonSampleInfo sampleInfo)
 {
     JsonSampleCommon.TestJsonSample(sampleInfo, this.TestLinkedServiceCustomJson);
 }