Beispiel #1
0
        /// <summary>
        /// Gets the metadata.
        /// </summary>
        /// <returns></returns>
        private UploadMetadata GetMetadata()
        {
            var metadataGenerator = new UploadMetadataGenerator(this.Parameters);

            if (this.Parameters.IsResume)
            {
                return(metadataGenerator.GetExistingMetadata(_metadataFilePath));
            }
            else
            {
                return(metadataGenerator.CreateNewMetadata(_metadataFilePath));
            }
        }
        public void UploadMetadataGenerator_AlignSegmentsToRecordBoundaries()
        {
            //We keep creating a file, by appending a number of bytes to it (taken from FileLengthsInMB). 
            //At each iteration, we append a new blob of data, and then run the whole test on the entire file
            var rnd = new Random(0);
            string folderPath = string.Format(@"{0}\uploadtest", Environment.CurrentDirectory);
            string filePath = Path.Combine(folderPath, "verifymetadata.txt");
            try
            {
                if (!Directory.Exists(folderPath))
                {
                    Directory.CreateDirectory(folderPath);
                }

                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }

                foreach (var lengthMB in FileLengthsMB)
                {
                    var appendLength = (int) (lengthMB*1024*1024);
                    AppendToFile(filePath, appendLength, rnd, 0, MaxAppendLength);
                    string metadataFilePath = filePath + ".metadata.txt";

                    var up = new UploadParameters(filePath, filePath, null, isBinary: false,
                        maxSegmentLength: 4*1024*1024);
                    var mg = new UploadMetadataGenerator(up, MaxAppendLength);
                    var metadata = mg.CreateNewMetadata(metadataFilePath);

                    VerifySegmentsAreOnRecordBoundaries(metadata, filePath);
                }
            }
            finally
            {
                if (Directory.Exists(folderPath))
                {
                    Directory.Delete(folderPath, true);
                }
            }
        }
 /// <summary>
 /// Gets the metadata.
 /// </summary>
 /// <returns></returns>
 private UploadMetadata GetMetadata()
 {
     var metadataGenerator = new UploadMetadataGenerator(this.Parameters);
     if (this.Parameters.IsResume)
     {
         return metadataGenerator.GetExistingMetadata(_metadataFilePath);
     }
     else
     {
         return metadataGenerator.CreateNewMetadata(_metadataFilePath);
     }
 }