public CloudFileDataAdaptor(TestAccount testAccount, string shareName, SourceOrDest sourceOrDest) { this.testAccount = testAccount; this.fileHelper = new CloudFileHelper(testAccount.Account); this.shareName = shareName; this.defaultShareName = shareName; this.tempFolder = Guid.NewGuid().ToString(); this.SourceOrDest = sourceOrDest; }
public static void MyClassInitialize(TestContext testContext) { TestBase.TestClassInitialize(testContext); BlobHelper = new CloudBlobHelper(StorageAccount); FileHelper = new CloudFileHelper(StorageAccount); //set the ConcurrentTaskCount field PowerShellAgent.ConcurrentTaskCount = Environment.ProcessorCount * 8; }
protected override void GenerateDataImp(DMLibDataInfo dataInfo) { fileHelper.CreateShare(this.shareName); using (TemporaryTestFolder localTemp = new TemporaryTestFolder(this.tempFolder)) { CloudFileDirectory rootCloudFileDir = this.fileHelper.GetDirReference(this.shareName, dataInfo.RootPath); this.GenerateDir(dataInfo.RootNode, rootCloudFileDir, this.tempFolder); if (dataInfo.IsFileShareSnapshot) { CloudFileShare baseShare = this.fileHelper.FileClient.GetShareReference(this.shareName); this.snapshotTime = baseShare.SnapshotAsync().Result.SnapshotTime; CloudFileHelper.CleanupFileDirectory(baseShare.GetRootDirectoryReference()); } } }
private void PrepareCloudFileWithDifferentSizeRange(CloudFile cloudFile) { List <int> ranges = new List <int>(); List <int> gaps = new List <int>(); // Add one 4MB - 16MB range ranges.Add(random.Next(4 * 1024 * 1024, 16 * 1024 * 1024)); // Add one 1B range ranges.Add(1); int remainingPageNumber = random.Next(10, 20); // Add ten - twenty 1B - 4MB range for (int i = 0; i < remainingPageNumber; ++i) { ranges.Add(random.Next(1, 4 * 1024 * 1024)); } // Add one 4M - 8M gap gaps.Add(random.Next(4 * 1024 * 1024, 8 * 1024 * 1024)); // Add 512B - 2048B gaps for (int i = 1; i < ranges.Count - 1; ++i) { gaps.Add(random.Next(1, 512 * 4)); } if (DMLibTestContext.DestType == DMLibDataType.PageBlob) { int totalSize = ranges.Sum() + gaps.Sum(); int remainder = totalSize % 512; if (remainder != 0) { ranges[ranges.Count - 1] += 512 - remainder; } } ranges.Shuffle(); gaps.Shuffle(); CloudFileHelper.GenerateCloudFileWithRangedData(cloudFile, ranges, gaps); }
public static void MyClassInitialize(TestContext testContext) { TestBase.TestClassInitialize(testContext); //delete perf files Helper.DeletePattern("testfile_*"); BlobHelper = new CloudBlobHelper(StorageAccount); FileHelper = new CloudFileHelper(StorageAccount); FileName = Test.Data.Get("FileName"); FolderName = Test.Data.Get("FolderName"); // import module PowerShellAgent.ImportModules(Constants.ServiceModulePaths); //set the ConcurrentTaskCount field PowerShellAgent.ConcurrentTaskCount = Environment.ProcessorCount * 8; Trace.WriteLine("ClassInit"); }
public static void SetCalculatedFileMD5(DMLibDataInfo dataInfo, DataAdaptor <DMLibDataInfo> destAdaptor, bool disableMD5Check = false) { foreach (FileNode fileNode in dataInfo.EnumerateFileNodes()) { if (DMLibTestBase.IsCloudBlob(DMLibTestContext.DestType)) { CloudBlobDataAdaptor cloudBlobDataAdaptor = destAdaptor as CloudBlobDataAdaptor; CloudBlob cloudBlob = cloudBlobDataAdaptor.GetCloudBlobReference(fileNode); fileNode.MD5 = CloudBlobHelper.CalculateMD5ByDownloading(cloudBlob, disableMD5Check); } else if (DMLibTestContext.DestType == DMLibDataType.CloudFile) { CloudFileDataAdaptor cloudFileDataAdaptor = destAdaptor as CloudFileDataAdaptor; CloudFile cloudFile = cloudFileDataAdaptor.GetCloudFileReference(fileNode); fileNode.MD5 = CloudFileHelper.CalculateMD5ByDownloading(cloudFile, disableMD5Check); } // No need to set md5 for local destination } }