AdlsDotNetSDKUnitTest/LongRunningUnitTest.cs (56 lines of code) (raw):

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace Microsoft.Azure.DataLake.Store.UnitTest { [TestClass] public class LongRunningUnitTest { private static AdlsClient _adlsClient; private static string BasePath; private static string RemotePath; [ClassInitialize] public static void SetupTest(TestContext context) { BasePath = context.Properties["BasePath"].ToString(); RemotePath = "/" + BasePath + "/LongRunningUnitTest" + SdkUnitTest.TestId; _adlsClient = SdkUnitTest.SetupSuperClient(); _adlsClient.DeleteRecursive(RemotePath); _adlsClient.CreateDirectory(RemotePath); AdlsClient.ConcatenateStreamListThreshold = 10; } [TestMethod] public void ParallelConcatenate() { string path = $"{RemotePath}/A"; string destination = $"{RemotePath}/Concatdest"; int countFile = 400; string text = "ParallelConcat"; TestDataCreator.DataCreator.CreateDirRecursiveRemote(_adlsClient, path, 0, 0, countFile, countFile, 0, 0, false, "", 100, text); var list = new List<string>(); string expectedOutput = ""; for (int i = 0; i < countFile; i++) { list.Add($"{path}/A" + i + "File.txt"); expectedOutput += text; } _adlsClient.ConcatenateFilesParallelAsync(destination, list, true).GetAwaiter().GetResult(); string actualOutput; using (var reader = new StreamReader(_adlsClient.GetReadStream(destination))) { actualOutput = reader.ReadToEnd(); } Assert.IsTrue(actualOutput.Equals(expectedOutput)); } [ClassCleanup] public static void CleanTests() { _adlsClient.DeleteRecursive(RemotePath); AdlsClient.ConcatenateStreamListThreshold = 100; } } }