示例#1
0
        public void AvailableFreeSpace()
        {
            var totalSize = 10 * OneGB;
            var freeSpace = 9 * OneGB;

            _driveInfo.Setup(p => p.AvailableFreeSpace).Returns(freeSpace);
            _driveInfo.Setup(p => p.TotalSize).Returns(totalSize);
            _configuration.Value.Storage.Watermark      = 10;
            _configuration.Value.Storage.ReserveSpaceGB = 1;

            var storageInfoProvider = new StorageInfoProvider(_configuration, _fileSystem.Object, _logger.Object);

            Assert.Equal(freeSpace, storageInfoProvider.AvailableFreeSpace);
            _logger.VerifyLogging($"Storage Size: {totalSize:N0}. Reserved: {(9 * OneGB):N0}.", LogLevel.Information, Times.Once());
        }
示例#2
0
        public void ReservedSpaceIsLow()
        {
            var totalSize = 10 * OneGB;
            var freeSpace = 5 * OneGB;

            _driveInfo.Setup(p => p.AvailableFreeSpace).Returns(freeSpace);
            _driveInfo.Setup(p => p.TotalSize).Returns(totalSize);
            _configuration.Value.Storage.Watermark      = 99;
            _configuration.Value.Storage.ReserveSpaceGB = 9;
            var storageInfoProvider = new StorageInfoProvider(_configuration, _fileSystem.Object, _logger.Object);

            Assert.False(storageInfoProvider.HasSpaceAvailableForExport);
            Assert.False(storageInfoProvider.HasSpaceAvailableToRetrieve);
            Assert.False(storageInfoProvider.HasSpaceAvailableToStore);

            _logger.VerifyLogging($"Storage Size: {totalSize:N0}. Reserved: {(9 * OneGB):N0}. Available: {freeSpace:N0}.", LogLevel.Debug, Times.Exactly(3));
        }