public void DsfDropBoxUploadActivity_GetDebugInputs_GivenEnvironment_ShouldhaveDebugInputs()
        {
            //---------------Set up test pack-------------------
            var mockExecutor  = new Mock <IDropboxSingleExecutor <IDropboxResult> >();
            var dropboxClient = new Mock <IDropboxClient>();

            mockExecutor.Setup(executor => executor.ExecuteTask(TestConstant.DropboxClientInstance.Value))
            .Returns(new DropboxUploadSuccessResult(TestConstant.FileMetadataInstance.Value));
            var dsfDropBoxUploadAcivtityMock = new TestDsfDropBoxUploadActivity(mockExecutor.Object, dropboxClient.Object)
            {
                IsUplodValidSuccess = true,
                ToPath   = "DDD",
                FromPath = "DDD",
                AddMode  = true
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfDropBoxUploadAcivtityMock);
            //---------------Execute Test ----------------------
            var mock        = new Mock <IExecutionEnvironment>();
            var debugInputs = dsfDropBoxUploadAcivtityMock.GetDebugInputs(mock.Object, 0);

            //---------------Test Result -----------------------
            Assert.AreEqual(2, debugInputs.Count);
        }
        public void DsfDropBoxUploadActivity_PerformExecution_DropboxFailureResult_GivenPaths_ShouldPassthrough()
        {
            //---------------Set up test pack-------------------
            var mockExecutor  = new Mock <IDropboxSingleExecutor <IDropboxResult> >();
            var dropboxClient = new Mock <IDropboxClient>();

            dropboxClient.Setup(wrapper => wrapper.UploadAsync(It.IsAny <string>(), It.IsAny <WriteMode>(), It.IsAny <bool>(), null, It.IsAny <bool>(), It.IsAny <MemoryStream>()))
            .Returns(Task.FromResult(TestConstant.FileMetadataInstance.Value));
            mockExecutor.Setup(executor => executor.ExecuteTask(dropboxClient.Object))
            .Returns(new DropboxFailureResult(new Exception("Test Error: not_file")));
            var dsfDropBoxUploadAcivtityMock = new TestDsfDropBoxUploadActivity(mockExecutor.Object, dropboxClient.Object)
            {
                IsUplodValidSuccess = false,
                SelectedSource      = new DropBoxSource()
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfDropBoxUploadAcivtityMock);
            //---------------Execute Test ----------------------
            var location = Assembly.GetExecutingAssembly().Location;

            dsfDropBoxUploadAcivtityMock.PerfomBaseExecution(new Dictionary <string, string>()
            {
                { "ToPath", "a" },
                { "FromPath", location },
            });
            //---------------Test Result -----------------------
            dropboxClient.Verify(wrapper => wrapper.UploadAsync(It.IsAny <string>(), It.IsAny <WriteMode>(), It.IsAny <bool>(), null, It.IsAny <bool>(), It.IsAny <MemoryStream>()));
        }
        public void DsfDropBoxUploadActivity_ExecuteTool_GivenNoToPath_ShouldAddError()
        {
            //---------------Set up test pack-------------------
            var mockExecutor  = new Mock <IDropboxSingleExecutor <IDropboxResult> >();
            var dropboxClient = new Mock <IDropboxClient>();

            mockExecutor.Setup(executor => executor.ExecuteTask(TestConstant.DropboxClientInstance.Value))
            .Returns(new DropboxUploadSuccessResult(TestConstant.FileMetadataInstance.Value));
            var dsfDropBoxUploadAcivtityMock = new TestDsfDropBoxUploadActivity(mockExecutor.Object, dropboxClient.Object)
            {
                IsUplodValidSuccess = true,
                FromPath            = "File.txt"
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfDropBoxUploadAcivtityMock);
            //---------------Execute Test ----------------------
            var datObj = new Mock <IDSFDataObject>();
            var executionEnvironment = new Mock <IExecutionEnvironment>();

            datObj.Setup(o => o.Environment).Returns(executionEnvironment.Object);

            var dataObject = datObj.Object;

            dsfDropBoxUploadAcivtityMock.Execute(dataObject, 0);
            //---------------Test Result -----------------------
            executionEnvironment.Verify(environment => environment.AddError("Please confirm that the correct file destination has been entered"));
        }
        public void DsfDropBoxUploadActivity_GetDebugOutputs_GivenWebRequestSuccess_ShouldCorrectDebugValue()
        {
            //---------------Set up test pack-------------------
            var mockExecutor  = new Mock <IDropboxSingleExecutor <IDropboxResult> >();
            var dropboxClient = new Mock <IDropboxClient>();

            mockExecutor.Setup(executor => executor.ExecuteTask(TestConstant.DropboxClientInstance.Value))
            .Returns(new DropboxUploadSuccessResult(TestConstant.FileMetadataInstance.Value));
            var dsfDropBoxUploadAcivtityMock = new TestDsfDropBoxUploadActivity(mockExecutor.Object, dropboxClient.Object)
            {
                IsUplodValidSuccess = true
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfDropBoxUploadAcivtityMock);
            //---------------Execute Test ----------------------
            var esbChannel           = new Mock <IEsbChannel>().Object;
            var datObj               = new Mock <IDSFDataObject>().Object;
            var executionEnvironment = new Mock <IExecutionEnvironment>().Object;

            var errorResultTO = new ErrorResultTO();

            dsfDropBoxUploadAcivtityMock.Execute(esbChannel, datObj, String.Empty, String.Empty, out errorResultTO, 0);
            var debugOutputs = dsfDropBoxUploadAcivtityMock.GetDebugOutputs(executionEnvironment, 0);

            //---------------Test Result -----------------------
            Assert.AreEqual(0, debugOutputs.Count);
        }
        public void DsfDropBoxUploadActivity_PerformExecution_GivenNoPaths_ShouldThrowException()
        {
            //---------------Set up test pack-------------------
            var mockExecutor  = new Mock <IDropboxSingleExecutor <IDropboxResult> >();
            var dropboxClient = new Mock <IDropboxClient>();

            mockExecutor.Setup(executor => executor.ExecuteTask(TestConstant.DropboxClientInstance.Value))
            .Returns(new DropboxUploadSuccessResult(TestConstant.FileMetadataInstance.Value));
            var dsfDropBoxUploadAcivtityMock = new TestDsfDropBoxUploadActivity(mockExecutor.Object, dropboxClient.Object)
            {
                IsUplodValidSuccess = true
            };

            //---------------Assert Precondition----------------
            Assert.IsNotNull(dsfDropBoxUploadAcivtityMock);
            //---------------Execute Test ----------------------
            dsfDropBoxUploadAcivtityMock.PerfomBaseExecution(new Dictionary <string, string>());
            //---------------Test Result -----------------------
            Assert.Fail("Exception Not Throw");
        }