Exemplo n.º 1
0
        public void CreateAndDeleteFile(IFileInfoWrap fi)
        {
            IFileStreamWrap fs = fi.Create();

            fs.Close();
            fi.Delete();
        }
        public void TestDisposeOfStream(IFileStreamWrap stream)
        {
            var test = new FileReader(stream);
            test.Dispose();

            test.Stream.ShouldBeEquivalentTo(null);
        }
Exemplo n.º 3
0
        public FileReader(IFileStreamWrap stream)
        {
            if (stream == null) throw new ArgumentNullException(nameof(stream));

            //Asses file ext
            var ext = Path.GetExtension(stream.Name);
            if (ext == ".gz")
            {
                Compression = CompressionScheme.GZip;
            }

            //Assign stream
            Stream = stream;

            //If not testing assign actual stream
            if (stream.FileStreamInstance != null)
            {
                if (Compression == CompressionScheme.None)
                {
                    _reader = new StreamReaderWrap(stream.FileStreamInstance);
                }
                else if (Compression == CompressionScheme.GZip)
                {
                    // Toggle between the x86 and x64 bit dll
                   // var path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),Environment.Is64BitProcess ? "x64" : "x86", "7z.dll");
                    SevenZipExtractor.SetLibraryPath("C:\\Program Files (x86)\\7-Zip\\7z.dll");

                    _gzipStream = new SevenZipExtractor(stream.FileStreamInstance);
                    //_memoryStream = new MemoryStream();
                    //_gzipStream.ExtractFile(0, _memoryStream);
                    _gzipStream.ExtractArchive("D:\\test.txt");
                    _reader = new StreamReaderWrap(_memoryStream);              
                }
            }
        }
 public void InitTest()
 {
     _fileStreamStub = MockRepository.GenerateStub<IFileStreamWrap>();
     _fileStub = MockRepository.GenerateStub<IFileWrap>();
     _fileName = "Image_Test"; // Sample Value.
     _hashValue = "HASHVALUE"; // Sample Value.
 }
        public void TestGetFileReturnsCorrectStream(IFileStreamWrap stream)
        {
            var test = new FileReaderFactory();
            var output = test.GetFileReader(stream);

            output.Should().NotBeNull();
            output.Stream.ShouldBeEquivalentTo(stream);
        }
Exemplo n.º 6
0
        public MemoryStream GetMemoryStremFromFile()
        {
            IFileStreamWrap fileStream   = _fileInfo.OpenRead();
            MemoryStream    memoryStream = new MemoryStream();

            memoryStream.SetLength(fileStream.Length);
            fileStream.Read(memoryStream.GetBuffer(), 0, (int)fileStream.Length);
            return(memoryStream);
        }
Exemplo n.º 7
0
        private void Upload(IFileStreamWrap stream, string bucketName, string key, bool setPublicAccess)
        {
            try
            {
                key = key.ToLowerInvariant();

                var existsResponse = FileExists(bucketName, key);
                if (existsResponse != null && existsResponse.ContentLength == stream.Length)
                {
                    Logger.Log(string.Format("Skipping {0} because it already exists in {1}", key, bucketName));
                    return;
                }

                var uploadRequest = new TransferUtilityUploadRequest();
                uploadRequest.WithInputStream(stream.StreamInstance);
                uploadRequest.WithBucketName(bucketName);
                Logger.Log(String.Format("Bucket {0}", bucketName));
                if (setPublicAccess)
                {
                    uploadRequest.CannedACL = S3CannedACL.PublicRead;
                }
                uploadRequest.Key = key;
                Logger.Log(String.Format("Key {0}", key));
                uploadRequest.WithTimeout(14400000); // 4 Hours

                var lastKnownPercentage = 0;
                uploadRequest.UploadProgressEvent += (s, e) =>
                {
                    if (e.PercentDone <= lastKnownPercentage)
                    {
                        return;
                    }

                    Logger.Log(String.Format("UploadProgress:{0} :{1}%", key, e.PercentDone));
                    lastKnownPercentage = e.PercentDone;
                };

                TransferUtility.Upload(uploadRequest);
            }
            catch (Exception exception)
            {
                Logger.Log("Error uploading to s3");
                Logger.Log(exception.Message);
                throw;
            }
        }
Exemplo n.º 8
0
        public void Check_that_FileInfo_methods_Create_and_Delete_are_called()
        {
            // Add mock repository.
            IFileInfoWrap   fileInfoRepository   = MockRepository.GenerateMock <IFileInfoWrap>();
            IFileStreamWrap fileStreamRepository = MockRepository.GenerateMock <IFileStreamWrap>();

            // Create expectations
            fileInfoRepository.Expect(x => x.Create()).Return(fileStreamRepository);
            fileStreamRepository.Expect(x => x.Close());
            fileInfoRepository.Expect(x => x.Delete());

            // Test
            new FileInfoSample().CreateAndDeleteFile(fileInfoRepository);

            // Verify expectations.
            fileInfoRepository.VerifyAllExpectations();
            fileStreamRepository.VerifyAllExpectations();
        }
Exemplo n.º 9
0
        public FileDetail GetFileHash(string filePath)
        {
            FileDetail fileDetail = new FileDetail();

            fileDetail.Name = Path.GetFileName(filePath);

            IFileStreamWrap fileStream = _fileWrapper.OpenRead(filePath);

            fileDetail.Length = fileStream.Length;

            using (var md5 = MD5.Create())
            {
                fileStream.Seek(0, SeekOrigin.Begin);
                var hash = md5.ComputeHash(fileStream.StreamInstance);
                fileDetail.Hash = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant();
            }

            return(fileDetail);
        }
Exemplo n.º 10
0
 public void TestDispose(IFileStreamWrap stream)
 {
     var test = new FileReader(stream);
     test.Dispose();
 }
 public IFileReader GetFileReader(IFileStreamWrap stream)
 {
     return new FileReader(stream);
 }
Exemplo n.º 12
0
        private void Upload(IFileStreamWrap stream, string bucketName, string key, bool setPublicAccess)
        {
            try
            {
                key = key.ToLowerInvariant();

                var existsResponse = FileExists(bucketName, key);
                if (existsResponse != null && existsResponse.ContentLength == stream.Length)
                {
                    Logger.Log(string.Format("Skipping {0} because it already exists in {1}", key, bucketName));
                    return;
                }

                var uploadRequest = new TransferUtilityUploadRequest();
                uploadRequest.WithInputStream(stream.StreamInstance);
                uploadRequest.WithBucketName(bucketName);
                Logger.Log(String.Format("Bucket {0}", bucketName));
                if (setPublicAccess)
                    uploadRequest.CannedACL = S3CannedACL.PublicRead;
                uploadRequest.Key = key;
                Logger.Log(String.Format("Key {0}", key));
                uploadRequest.WithTimeout(14400000); // 4 Hours

                var lastKnownPercentage = 0;
                uploadRequest.UploadProgressEvent += (s, e) =>
                {
                    if (e.PercentDone <= lastKnownPercentage)
                        return;

                    Logger.Log(String.Format("UploadProgress:{0} :{1}%", key, e.PercentDone));
                    lastKnownPercentage = e.PercentDone;
                };

                TransferUtility.Upload(uploadRequest);
            }
            catch (Exception exception)
            {
                Logger.Log("Error uploading to s3");
                Logger.Log(exception.Message);
                throw;
            }
        }
 public bool WriteToFile(IFileStreamWrap fileStream, byte[] bytesToWrite)
 {
     using (fileStream)
     {
         foreach (var t in bytesToWrite)
         {
             fileStream.WriteByte(t);
         }
     }
     return true;
 }