//Case 111: 1.3.6_SetCephTracing_Normal public void Run_Image_SetCephTracing_Normal_Case111() { int runCount = 0; foreach (InputDataSet ids in this.Input.DataSets) { runCount++; Round r = this.NewRound(runCount.ToString(), "Test Image Service: createImage -> getImageInfo & getImageDescription -> setImageInfo -> getImageInfo & getImageDescription -> deleteImage"); try { string imageinternalUid = null; ImageService imageService = new ImageService(); #region Parameter Initialize //Input parameter XMLParameter p_CreateImage = new XMLParameter("image"); string p_SetCephTracing = null; for (int i = 0; i < ids.InputParameters.Count; i++) { if (ids.InputParameters.GetParameter(i).Step == "createImage") { p_CreateImage.AddParameter(ids.InputParameters.GetParameter(i).Key, ids.InputParameters.GetParameter(i).Value); } if (ids.InputParameters.GetParameter(i).Step == "setCephTracing" && ids.InputParameters.GetParameter(i).Key == "cephTracing") { p_SetCephTracing = ids.InputParameters.GetParameter(i).Value; } } //Output value string ep_GetCephTraingReturn = null; for (int i = 0; i < ids.ExpectedValues.Count; i++) { if (ids.ExpectedValues.GetParameter(i).Step == "getCephTracing" && ids.ExpectedValues.GetParameter(i).Key == "cephTracing") { ep_GetCephTraingReturn = ids.ExpectedValues.GetParameter(i).Value; } } #endregion #region Step 1: Call ImageService.createImage to create a new image CheckPoint cp_CreateImage = new CheckPoint("Image create", "Call imageService.createImage to create a new image"); r.CheckPoints.Add(cp_CreateImage); XMLResult rt_CreateImage = imageService.createImage(p_CreateImage); if (rt_CreateImage.IsErrorOccured) { cp_CreateImage.Result = TestResult.Fail; cp_CreateImage.Outputs.AddParameter("create", "Create image returns error", rt_CreateImage.Message); SaveRound(r); break; // There is error, end test case } else { cp_CreateImage.Result = TestResult.Pass; cp_CreateImage.Outputs.AddParameter("create", "Create image returns success", rt_CreateImage.Message); imageinternalUid = rt_CreateImage.SingleResult; } #endregion #region Step 2: Call ImageService.setCephTracing to set the Ceph Tracing CheckPoint cp_SetCephTracing = new CheckPoint("Set cephTracing", "Call imageService.setCephTracing to set the cephTracing"); r.CheckPoints.Add(cp_SetCephTracing); XMLResult rt_SetCephTracing = imageService.setCephTracing(p_SetCephTracing, imageinternalUid); if (rt_SetCephTracing.IsErrorOccured) { cp_SetCephTracing.Result = TestResult.Fail; cp_SetCephTracing.Outputs.AddParameter("setCephTracing", "Call imageService.setCephTracing returns error", rt_SetCephTracing.Message); SaveRound(r); break; // There is error, end test case } else { cp_SetCephTracing.Result = TestResult.Pass; cp_SetCephTracing.Outputs.AddParameter("setCephTracing", "Call imageService.setCephTracing returns success", rt_SetCephTracing.Message); } #endregion #region Step 3: Call ImageService.getCephTracing to get the Ceph tracing info CheckPoint cp_GetCephTracing = new CheckPoint("getCephTracing", "Call ImageService.getCephTracing to get the Ceph tracing info"); r.CheckPoints.Add(cp_GetCephTracing); XMLResult getCephTracingResult = imageService.getCephTracing(imageinternalUid); if (getCephTracingResult.IsErrorOccured) { cp_GetCephTracing.Result = TestResult.Fail; System.Diagnostics.Debug.Print("Call ImageService.getCephTracing to get the Ceph tracing info returns error."); cp_GetCephTracing.Outputs.AddParameter("getCephTracing", "Call ImageService.getCephTracing to get the Ceph tracing info", getCephTracingResult.Message); SaveRound(r); break; // There is error, end test case } else { // Check the return value if (String.Equals(getCephTracingResult.SingleResult.Replace("\n", "").Replace("\r", ""), ep_GetCephTraingReturn.Replace("\n", "").Replace("\r", ""))) { cp_GetCephTracing.Result = TestResult.Pass; System.Diagnostics.Debug.Print("Call ImageService.getCephTracing to get the Ceph tracing info succeeds."); cp_GetCephTracing.Outputs.AddParameter("getCephTracing", "Call ImageService.getCephTracing to get the Ceph tracing info", getCephTracingResult.Message); } else { cp_GetCephTracing.Result = TestResult.Fail; System.Diagnostics.Debug.Print("Call ImageService.getCephTracing to get the Ceph tracing info return value is not correct."); cp_GetCephTracing.Outputs.AddParameter("getCephTracing", "Call ImageService.getCephTracing to get the Ceph tracing info return value is not correct", "Expect: " + ep_GetCephTraingReturn + "\n\n\n Actually Get: " + getCephTracingResult.SingleResult); } } #endregion #region Step 4: Call ImageService.deleteImage to delete the image CheckPoint cp_DeleteImage = new CheckPoint("Delete Image", "Call imageService.deleteImage to delete the image"); r.CheckPoints.Add(cp_DeleteImage); XMLResult rt_DeleteImage = imageService.deleteImage(imageinternalUid, new XMLParameter("preferences")); if (rt_DeleteImage.IsErrorOccured) { cp_DeleteImage.Result = TestResult.Fail; cp_DeleteImage.Outputs.AddParameter("delete image", "Delete image returns error", rt_DeleteImage.Message); SaveRound(r); break; // There is error, end test case } else { cp_DeleteImage.Result = TestResult.Pass; cp_DeleteImage.Outputs.AddParameter("delete image", "Delete image returns success", rt_DeleteImage.Message); } #endregion SaveRound(r); } catch (Exception ex) { CheckPoint cp = new CheckPoint(); r.CheckPoints.Add(cp); cp.Outputs.AddParameter("Exception thrown", "Exception Message", ex.Message); cp.Result = TestResult.Fail; SaveRound(r); } } Output(); }