public void findPendingTransferTasks() { PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskList lInputList; PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskList lOutputList; var lTask1 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); var lTask2 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); var lTask3 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); var lTask4 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); lInputList = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskList(); lOutputList = DataPackageServiceInstrumented.findPendingTransferTasks(lInputList); Assert.IsEmpty(lOutputList, "Input list is empty"); lInputList.Add(null); lOutputList = DataPackageServiceInstrumented.findPendingTransferTasks(lInputList); Assert.IsEmpty(lOutputList, "Input list contains a null element"); lTask1.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskCancelled; lInputList.Add(lTask1); lTask2.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskCompleted; lInputList.Add(lTask2); lOutputList = DataPackageServiceInstrumented.findPendingTransferTasks(lInputList); Assert.IsEmpty(lOutputList, "Input list contains only non pending elements"); lTask3.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskStarted; lInputList.Add(lTask3); lOutputList = DataPackageServiceInstrumented.findPendingTransferTasks(lInputList); Assert.AreEqual(1, lOutputList.Count, "Input list contains one pending element"); Assert.AreEqual(lTask3, lOutputList[0], "Input list contains one pending element"); lTask4.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskCreated; lInputList.Insert(1, lTask4); lOutputList = DataPackageServiceInstrumented.findPendingTransferTasks(lInputList); Assert.AreEqual(2, lOutputList.Count, "Input list contains two pending element"); Assert.AreEqual(lTask4, lOutputList[0], "Input list contains two pending element"); Assert.AreEqual(lTask3, lOutputList[1], "Input list contains two pending element"); }
public void GetCancellableTransferTasks_nominalCase() { var lApplicationId = System.Configuration.ConfigurationSettings.AppSettings["ApplicationId"]; var lInputTransferTaskList = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskList(); var lInputTasks1 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); lInputTasks1.taskId = 65; lInputTasks1.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskCancelled; lInputTransferTaskList.Add(lInputTasks1); var lInputTasks2 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); lInputTasks2.taskId = 172; lInputTasks2.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskCreated; lInputTransferTaskList.Add(lInputTasks2); var lInputTasks3 = new PIS.Ground.Core.T2G.WebServices.FileTransfer.transferTaskStruct(); lInputTasks3.taskId = 34; lInputTasks3.taskState = PIS.Ground.Core.T2G.WebServices.FileTransfer.taskStateEnum.taskStarted; lInputTransferTaskList.Add(lInputTasks3); var lInputDistributionRequest1 = new FileDistributionRequestForTest(); var lInputRecipient1 = new RecipientId(); lInputRecipient1.SystemId = "train1"; lInputRecipient1.ApplicationId = lApplicationId; var lInputRecipient2 = new RecipientId(); lInputRecipient2.SystemId = "train2"; lInputRecipient2.ApplicationId = lApplicationId; var lInputRecipient3 = new RecipientId(); lInputRecipient3.SystemId = "train3"; lInputRecipient3.ApplicationId = lApplicationId; var lInputRecipient4 = new RecipientId(); lInputRecipient4.SystemId = "train4"; lInputRecipient4.ApplicationId = "application xxx"; // Forcing mismatch lInputDistributionRequest1.RecipientList.AddRange( new RecipientId[] { lInputRecipient1, lInputRecipient2, lInputRecipient3, lInputRecipient4 }); var lInputUnrecordedRecipients = new List <Recipient>(); var lInputUnrecordedRecipient1 = new Recipient(); lInputUnrecordedRecipient1.SystemId = "train15"; lInputUnrecordedRecipient1.ApplicationIds = lApplicationId; lInputUnrecordedRecipients.Add(lInputUnrecordedRecipient1); var lInputUnrecordedRecipient2 = new Recipient(); lInputUnrecordedRecipient2.SystemId = "train16"; lInputUnrecordedRecipient2.ApplicationIds = "application yyy"; // Forcing mismatch lInputUnrecordedRecipients.Add(lInputUnrecordedRecipient2); var lInputUnrecordedRecipient3 = new Recipient(); lInputUnrecordedRecipient3.SystemId = "train17"; lInputUnrecordedRecipient3.ApplicationIds = lApplicationId; lInputUnrecordedRecipients.Add(lInputUnrecordedRecipient3); var lInputUnrecordedTransferTask = new TransferTaskData(); _train2groundClientMock.Setup(x => x.EnumTransferTask( It.IsAny <DateTime>(), It.IsAny <DateTime>(), out lInputTransferTaskList)) .Returns(true); _train2groundClientMock.Setup(x => x.GetFileDistributionRequestByTaskId( It.Is <int>((lValue) => lValue == 172))) .Returns <PIS.Ground.Core.Data.FileDistributionRequest>(null); _train2groundClientMock.Setup(x => x.GetFileDistributionRequestByTaskId( It.Is <int>((lValue) => lValue == 34))) .Returns(lInputDistributionRequest1); _train2groundClientMock.Setup(x => x.GetTransferTask( It.Is <int>((lValue) => lValue == 172), out lInputUnrecordedRecipients, out lInputUnrecordedTransferTask)) .Returns(""); List <DataPackageService.CancellableTransferTaskInfo> lOutputTransferTask; bool lSuccess = DataPackageServiceInstrumented.getCancellableTransferTasks(out lOutputTransferTask); _train2groundClientMock.Verify(x => x.GetTransferTask( It.IsAny <int>(), out lInputUnrecordedRecipients, out lInputUnrecordedTransferTask), Times.Once()); Assert.AreEqual(2, lOutputTransferTask.Count, "Number of expected transfer task results"); Assert.AreEqual(34, lOutputTransferTask[0].TaskID, "Recorded task id"); Assert.AreEqual(3, lOutputTransferTask[0].Elements.Count, "Number of elements"); Assert.AreEqual("train1", lOutputTransferTask[0].Elements[0], "First element"); Assert.AreEqual("train2", lOutputTransferTask[0].Elements[1], "Second element"); Assert.AreEqual("train3", lOutputTransferTask[0].Elements[2], "Third element"); Assert.AreEqual(172, lOutputTransferTask[1].TaskID, "Unrecorded task id"); Assert.AreEqual(2, lOutputTransferTask[1].Elements.Count, "Number of elements"); Assert.AreEqual("train15", lOutputTransferTask[1].Elements[0], "First element"); Assert.AreEqual("train17", lOutputTransferTask[1].Elements[1], "Second element"); Assert.IsTrue(lSuccess); }