Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        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);
        }