public void GenerateAPIfromWSDL()
        {
            // Arrange
            string     filename = TestResources.GetTestResourcesFile(@"APIModel\globalweather.xml");
            WSDLParser WSDLP    = new WSDLParser();

            //Act
            ObservableList <ApplicationAPIModel> AAMList = new ObservableList <ApplicationAPIModel>();

            AAMList = WSDLP.ParseDocument(filename, AAMList);

            //Assert
            Assert.AreEqual(AAMList.Count, 4, "Objects count");
            //Assert.AreEqual(AAMList[0].GroupName, "GlobalWeatherSoap", "binding name");
            Assert.AreEqual(AAMList[0].Name, "GetWeather_GlobalWeatherSoap", "operation name");
            Assert.AreEqual(AAMList[0].RequestBody.Length, 439, "operation name");

            //Assert.AreEqual(AAMList[1].GroupName, "GlobalWeatherSoap", "binding name");
            Assert.AreEqual(AAMList[1].Name, "GetCitiesByCountry_GlobalWeatherSoap", "operation name");
            Assert.AreEqual(AAMList[1].RequestBody.Length, 357, "operation name");

            //Assert.AreEqual(AAMList[2].GroupName, "GlobalWeatherSoap12", "binding name");
            Assert.AreEqual(AAMList[2].Name, "GetWeather_GlobalWeatherSoap12", "operation name");

            //Assert.AreEqual(AAMList[3].GroupName, "GlobalWeatherSoap12", "binding name");
            Assert.AreEqual(AAMList[3].Name, "GetCitiesByCountry_GlobalWeatherSoap12", "operation name");


            //Assert.AreEqual(AAMList[4].GroupName, "GlobalWeatherHttpGet", "binding name");
            //Assert.AreEqual(AAMList[4].Name, "GlobalWeatherHttpGet_GetWeather", "operation name");

            //Assert.AreEqual(AAMList[5].GroupName, "GlobalWeatherHttpGet", "binding name");
            //Assert.AreEqual(AAMList[5].Name, "GlobalWeatherHttpGet_GetCitiesByCountry", "operation name");

            //Assert.AreEqual(AAMList[6].GroupName, "GlobalWeatherHttpPost", "binding name");
            //Assert.AreEqual(AAMList[6].Name, "GlobalWeatherHttpPost_GetWeather", "operation name");

            //Assert.AreEqual(AAMList[7].GroupName, "GlobalWeatherHttpPost", "binding name");
            //Assert.AreEqual(AAMList[7].Name, "GlobalWeatherHttpPost_GetCitiesByCountry", "operation name");

            foreach (ApplicationAPIModel AAM in AAMList)
            {
                if ((AAMList.IndexOf(AAM) % 2) == 0)
                {
                    Assert.AreEqual(AAM.AppModelParameters.Count, 2, "Dynamic Parameters count");
                    Assert.AreEqual(AAM.Description, "Get weather report for all major cities around the world.", "Description check");
                    Assert.AreEqual(AAM.RequestBody.Length, 439, "Request Body Length Check");
                }
                else
                {
                    Assert.AreEqual(AAM.AppModelParameters.Count, 1, "Dynamic Parameters count");
                    Assert.AreEqual(AAM.Description, "Get all major cities by country name(full / part).", "Description check");
                    Assert.AreEqual(AAM.RequestBody.Length, 357, "Request Body Length Check");
                }
                //Assert.AreEqual(AAM.APIModelKeyValueHeaders.Count, 8, "KeyValueHeaders count");
                Assert.AreEqual(AAM.EndpointURL, "http://www.webservicex.net/globalweather.asmx", "KeyValueHeaders count");
            }
        }
Пример #2
0
        private async Task <bool> ShowWSDLOperations()
        {
            bool parseSuccess = true;

            AddAPIModelWizard.ProcessStarted();
            AddAPIModelWizard.AAMList         = new ObservableList <ApplicationAPIModel>();
            xApisSelectionGrid.DataSourceList = AddAPIModelWizard.AAMList;
            try
            {
                await Task.Run(() => WSDLP.ParseDocument(AddAPIModelWizard.URL, AddAPIModelWizard.AAMList, false));
            }
            catch (Exception ex)
            {
                Reporter.ToUser(eUserMsgKey.ParsingError, "Failed to Parse the WSDL " + ex.Message);
                parseSuccess = false;
            }

            AddAPIModelWizard.ProcessEnded();

            return(parseSuccess);
        }
        private async Task <bool> ShowWSDLOperations()
        {
            bool parseSuccess = true;

            AddAPIModelWizard.ProcessStarted();
            ObservableList <ApplicationAPIModel> AAMSList = new ObservableList <ApplicationAPIModel>();

            try
            {
                AAMSList = await Task.Run(() => WSDLP.ParseDocument(AddAPIModelWizard.URL));
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error Details:" + Environment.NewLine + ex.Message, "Failed to Parse the WSDL", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error, System.Windows.MessageBoxResult.None);
                parseSuccess = false;
            }

            AddAPIModelWizard.ProcessEnded();
            AddAPIModelWizard.AAMList         = AAMSList;
            xApisSelectionGrid.DataSourceList = AddAPIModelWizard.AAMList;

            return(parseSuccess);
        }
Пример #4
0
 private async void Learn(ObservableList <ApplicationAPIModel> AAMSList, WSDLParser wsdlParser)
 {
     string path = TestResources.GetTestResourcesFile(@"AutoPilot\WSDLs\delayedstockquote.xml");
     await Task.Run(() => wsdlParser.ParseDocument(path, AAMSList));
 }