コード例 #1
0
        /// <summary>
        /// Handles Web service response data in XML/JSON embedded specialization
        /// </summary>
        /// <param name="wseTestStep">TestStep of WSE Artifacts</param>
        /// <param name="apiTestStep">TestStep of API Engine Artifacts</param>
        /// <param name="payloadParser">Parse xml and json payload from Wse XModules and TestSteps</param>
        /// <param name="payloadSetterFactory">Create module attributes and Set values for payload in for Api artifacts </param>
        public override void HandleSpecialization(XTestStep wseTestStep,
                                                  XTestStep apiTestStep,
                                                  IPayloadParser payloadParser,
                                                  IPayloadSetterFactory payloadSetterFactory)
        {
            if (wseTestStep.TestStepValues == null)
            {
                return;
            }

            if (SpecializationHelper.IsResponseIsUsingEmbeddedModule(wseTestStep,
                                                                     out XModule responseSpecializationModule))
            {
                var responsePayload =
                    payloadParser.Parse(responseSpecializationModule, AddOnConstants.TestStepXmlPayloadTql);
                var apiModule = (apiTestStep.Module as ApiModule);
                apiModule?.APISetMessagePayload(responsePayload);
            }
            else
            {
                successor?.HandleSpecialization(wseTestStep, apiTestStep, payloadParser, payloadSetterFactory);
            }
        }
 /// <summary>
 /// Handles Web service request data in XML/JSON embedded specialization
 /// </summary>
 /// <param name="wseTestStep">TestStep of WSE Artifacts</param>
 /// <param name="apiTestStep">TestStep of API Engine Artifacts</param>
 /// <param name="payloadParser">Parse xml and json payload from Wse XModules and TestSteps</param>
 /// <param name="payloadSetterFactory">Create module attributes and Set values for payload in for Api artifacts </param>
 public override void HandleSpecialization(XTestStep wseTestStep,
                                           XTestStep apiTestStep,
                                           IPayloadParser payloadParser,
                                           IPayloadSetterFactory payloadSetterFactory)
 {
     if (wseTestStep.TestStepValues == null)
     {
         return;
     }
     if (SpecializationHelper.IsRequestIsUsingEmbeddedModule(wseTestStep,
                                                             out XModule requestSpecializationModule))
     {
         var requestPayload =
             payloadParser.Parse(wseTestStep,
                                 "=>SUBPARTS:XTestStepValue[Name==\"Request\"]->SUBPARTS:XTestStepValue");
         var apiModule = (apiTestStep.Module as ApiModule);
         apiModule?.APISetMessagePayload(requestPayload);
     }
     else
     {
         successor?.HandleSpecialization(wseTestStep, apiTestStep, payloadParser, payloadSetterFactory);
     }
 }
コード例 #3
0
        /// <summary>
        /// Identify location of existing WSE Specialized Modules and create generic folder for storing API modules
        /// </summary>
        /// <param name="rootComponentFolder"> Component Folder at which migration is executing </param>
        /// <param name="xTestStep">TestStep for WseArtifacts</param>
        /// <param name="parserResult">Transport information used to fill in Request and Response Module</param>
        /// <returns></returns>
        public (TCFolder, string) CreateFolderForApiModules(TCObject rootComponentFolder,
                                                            XTestStep xTestStep,
                                                            IWseArtifactsParser parserResult)
        {
            if (SpecializationHelper.IsRequestIsUsingEmbeddedModule(xTestStep, out XModule requestSpecializationModule)
                )
            {
                return(CreateFolderForApiModules(requestSpecializationModule), requestSpecializationModule.Name);
            }

            if (SpecializationHelper.IsResponseIsUsingEmbeddedModule(xTestStep,
                                                                     out XModule responseSpecializationModule))
            {
                return(CreateFolderForApiModules(responseSpecializationModule), responseSpecializationModule.Name);
            }

            var apiModulesFolder = GetOrCreateApiModulesFolder(rootComponentFolder);
            var moduleName       = CommonUtilities.CreateModuleFolderName(xTestStep, parserResult);
            var folder           = apiModulesFolder.CreateFolder();

            folder.Name = $"API_{moduleName}";
            folder.EnsureUniqueName();
            return(folder, moduleName);
        }