private void OpsQueueTest() { var vmOp = new VmOp() { Config = "", Id = 0, Name = null, Opcode = CmpInterfaceModel.Constants.VmOpcodeEnum.STOP.ToString(), StatusCode = CmpInterfaceModel.Constants.StatusEnum.Submitted.ToString(), StatusMessage = CmpInterfaceModel.Constants.StatusEnum.Submitted.ToString(), VmId = 3, Vmsize = "", disks = null, iData = 0, sData = null }; var opSpec = VmOpsController.Translate(vmOp); opSpec.Requestor = ""; //opSpec = new CmpInterface(null).SubmitOpToQueue(opSpec); var cmp = new CmpServiceLib.CmpService(eLog, ConfigurationManager.ConnectionStrings["CMPContext"].ConnectionString, null); opSpec = cmp.SubmitOpToQueue(opSpec); }
private void DeleteVmTest(EventLog _eventLog, List <CreateVm> vmList) { VmOp vmOp = new VmOp() { Opcode = CmpInterfaceModel.Constants.VmOpcodeEnum.DELETEFROMSTORAGE.ToString(), iData = 0, sData = null }; Task[] taskArray = new Task[vmList.Count]; var cmpi = new VMServiceRepository(_eventLog); for (int i = 0; i < vmList.Count; i++) { var opSpec = VmOpsController.Translate(new VmOp { Opcode = vmOp.Opcode, VmId = vmList[i].Id, sData = vmOp.sData, iData = vmOp.iData }); taskArray[i] = Task.Factory.StartNew(() => { opSpec = cmpi.SubmitOperation(opSpec); while (!opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Complete.ToString()) && !opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Exception.ToString())) { opSpec = cmpi.GetVmOpsRequestSpec(vmList[i].Name); } }); } Task.WaitAll(taskArray); for (int i = 0; i < vmList.Count; i++) { var opSpec = cmpi.GetVmOpsRequestSpec(vmList[i].Name); //Assert.AreNotEqual(opSpec, null); //Assert.AreEqual(opSpec.StatusCode, CmpInterfaceModel.Constants.StatusEnum.Complete); } }
//********************************************************************* /// /// <summary> /// /// </summary> /// <param name="_eventLog"></param> /// <param name="vmList"></param> /// //********************************************************************* private void DeleteVmTest(EventLog _eventLog, List <CreateVm> vmList) { VmOp vmOp = new VmOp() { Opcode = CmpInterfaceModel.Constants.VmOpcodeEnum.DELETEFROMSTORAGE.ToString(), iData = 0, sData = null }; List <OpSpec> opsList = new List <OpSpec>(); var cmpi = new VMServiceRepository(_eventLog); for (int i = 0; i < vmList.Count; i++) { var opSpec = VmOpsController.Translate(new VmOp { Opcode = vmOp.Opcode, VmId = vmList[i].Id, sData = vmOp.sData, iData = vmOp.iData }); opSpec = cmpi.SubmitOperation(opSpec); opSpec = cmpi.GetVmOpsRequestSpec(vmList[i].Name); while (!opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Complete.ToString()) && !opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Exception.ToString())) { opSpec = cmpi.GetVmOpsRequestSpec(vmList[i].Name); } opsList.Add(opSpec); if (opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Exception.ToString())) { break; } } foreach (var ops in opsList) { Assert.AreNotEqual(ops.StatusCode, null); Assert.AreNotEqual(ops.StatusCode, "Exception", ops.StatusMessage); Assert.AreEqual(ops.StatusCode, "Complete", ops.StatusMessage); } /* * Task[] taskArray = new Task[vmList.Count]; * for (int i = 0; i < vmList.Count; i++) * { * var i1 = i; * taskArray[i] = Task.Factory.StartNew((Object ob) => * { * OpRequest op = ob as OpRequest; * var opSpec = cmpi.GetVmOpsRequestSpec(vmList[i1].Name); * while (!opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Complete.ToString()) * && !opSpec.StatusCode.Equals(CmpInterfaceModel.Constants.StatusEnum.Exception.ToString())) * { * opSpec = cmpi.GetVmOpsRequestSpec(vmList[i1].Name); * } * * op.StatusCode = opSpec.StatusCode; * op.StatusMessage = opSpec.StatusMessage; * * }, new OpRequest(){}); * } * Task.WaitAll(taskArray); * * foreach (var task in taskArray) * { * var data = task.AsyncState as OpRequest; * Assert.AreNotEqual(data.StatusCode, null); * Assert.AreNotEqual(data.StatusCode, "Exception", data.StatusMessage); * Assert.AreEqual(data.StatusCode, "Complete", data.StatusMessage); * } * * for (int i = 0; i < vmList.Count; i++ ) * { * var opSpec = cmpi.GetVmOpsRequestSpec(vmList[i].Name); * Assert.AreNotEqual(opSpec , null); * Assert.AreEqual(opSpec.StatusCode, CmpInterfaceModel.Constants.StatusEnum.Complete.ToString()); * }*/ }