Exemplo n.º 1
0
        private async Task <bool> UnMount()
        {
            var result = await _virtualCloneDrive.UnMountAsync();

            if (!result.HasError)
            {
                return(true);
            }

            WriteLogMessage("Unmount Error: " + result.ErrorMessage);
            return(false);
        }
        public async Task UnMountAsyncWithDriveNotReadyShouldReturnError()
        {
            // Arrange
            var unitLetter          = @"F:\";
            var vcdMountPath        = @"C:\tmp";
            var mockDriveInfo       = new Mock <IDriveInfo>();
            var mockFileProvider    = new Mock <IFileProvider>();
            var mockProcessProvider = new Mock <IProcessProvider>();

            mockDriveInfo.Setup(m => m.IsReady).Returns(true);
            mockProcessProvider.Setup(m => m.Start(It.IsAny <string>(), It.IsAny <string>())).Returns(new System.Diagnostics.Process());

            VirtualCloneDriveWrapper wrapper = new VirtualCloneDriveWrapper(unitLetter, vcdMountPath, 3, 1000, mockDriveInfo.Object, mockFileProvider.Object, mockProcessProvider.Object);
            DeviceEventArgs          deviceEventArgs;

            // Act
            deviceEventArgs = await wrapper.UnMountAsync();

            // Assert
            Assert.IsTrue(deviceEventArgs.HasError);
            Assert.IsTrue(deviceEventArgs.ErrorMessage.Contains("There was an error trying to Unmount file on device"));
            mockProcessProvider.Verify(m => m.Start(It.IsAny <string>(), It.IsAny <string>()), Times.AtLeastOnce);
        }
        public async Task UnmountAsyncShouldCallProcessProviderStart()
        {
            // Arrange
            var unitLetter          = @"F:\";
            var vcdMountPath        = @"C:\tmp";
            var mockDriveInfo       = new Mock <IDriveInfo>();
            var mockFileProvider    = new Mock <IFileProvider>();
            var mockProcessProvider = new Mock <IProcessProvider>();

            mockDriveInfo.Setup(m => m.IsReady).Returns(false);
            mockProcessProvider.Setup(m => m.Start(It.IsAny <string>(), It.IsAny <string>())).Returns(new System.Diagnostics.Process());

            VirtualCloneDriveWrapper wrapper = new VirtualCloneDriveWrapper(unitLetter, vcdMountPath, 3, 1000, mockDriveInfo.Object, mockFileProvider.Object, mockProcessProvider.Object);
            DeviceEventArgs          deviceEventArgs;

            // Act
            deviceEventArgs = await wrapper.UnMountAsync();

            // Assert
            Assert.IsFalse(deviceEventArgs.HasError);
            Assert.AreEqual(string.Empty, deviceEventArgs.ErrorMessage);
            mockProcessProvider.Verify(m => m.Start(It.IsAny <string>(), It.IsAny <string>()), Times.AtLeastOnce);
        }