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"); } }
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); }
private async void Learn(ObservableList <ApplicationAPIModel> AAMSList, WSDLParser wsdlParser) { string path = TestResources.GetTestResourcesFile(@"AutoPilot\WSDLs\delayedstockquote.xml"); await Task.Run(() => wsdlParser.ParseDocument(path, AAMSList)); }