in AdlsDotNetSDKUnitTest/SdkUnitTest.cs [2761:2817]
public void TestRestoreDeletedItemsFileWithOverwriteOrCopy()
{
// Test copy
string streamName = GetFileOrFolderName("file");
SetupTrashFile(streamName, "file");
string path = $"{UnitTestDir}/" + streamName;
_adlsClient.CreateFile(path, IfExists.Overwrite);
Thread.Sleep(3000);
IEnumerable<TrashEntry> trashEntries = _adlsClient.EnumerateDeletedItems(streamName, null, 1, null);
Assert.IsTrue(trashEntries.Count() == 1);
Assert.IsTrue(trashEntries.ElementAt(0).Type == TrashEntryType.FILE);
string restoreToken = trashEntries.ElementAt(0).TrashDirPath;
string destPath = trashEntries.ElementAt(0).OriginalPath;
try
{
_adlsClient.RestoreDeletedItems(restoreToken, destPath, "file");
Assert.IsTrue(false);
}
catch (AdlsException ex)
{
Assert.IsTrue(ex.HttpStatus == HttpStatusCode.Conflict);
}
_adlsClient.RestoreDeletedItems(restoreToken, destPath, "file", "copy");
// Test overwrite
streamName = GetFileOrFolderName("file");
SetupTrashFile(streamName, "file");
path = $"{UnitTestDir}/" + streamName;
_adlsClient.CreateFile(path, IfExists.Overwrite, "777");
Thread.Sleep(3000);
trashEntries = _adlsClient.EnumerateDeletedItems(streamName, null, 1, null);
Assert.IsTrue(trashEntries.Count() == 1);
Assert.IsTrue(trashEntries.ElementAt(0).Type == TrashEntryType.FILE);
restoreToken = trashEntries.ElementAt(0).TrashDirPath;
destPath = trashEntries.ElementAt(0).OriginalPath;
try
{
_adlsClient.RestoreDeletedItems(restoreToken, destPath, "file");
Assert.IsTrue(false);
}
catch (AdlsException ex)
{
Assert.IsTrue(ex.HttpStatus == HttpStatusCode.Conflict);
}
_adlsClient.RestoreDeletedItems(restoreToken, destPath, "file", "overwrite");
}