public void フォルダ読込許可() { FileCopyUtil.DirectoryCopy(@"テストデータフォルダ"); SecurityUtil.Read(new DirectoryInfo("テストデータフォルダ"), AccessControlType.Allow); Directory.GetFiles("テストデータフォルダ"); // フォルダ内のファイル列挙でUnauthorizedAccessExceptionが発生しなければOK Assert.Pass(); }
public void 別名コピー() { string source = @"テストデータフォルダ\サブフォルダ"; // コピー FileCopyUtil.DirectoryCopy(source, "新しい名前"); // 指定した名前で作成されているはず Assert.True(Directory.Exists("新しい名前")); }
public void コピー_フォルダなしエラー() { // 存在しないフォルダを指定 string source = @"test"; var ex = Assert.Throws <ApplicationException>(() => { FileCopyUtil.DirectoryCopy(source); }); // 存在しないファイルをコピーしているので存在しないはず Assert.IsFalse(File.Exists(source)); Assert.That(ex.Message, Is.EqualTo(@"【DirectoryCopy】コピー対象のフォルダ(test)が存在しません。")); }
public void コピー_上書きなし() { string source = @"テストデータフォルダ\サブフォルダ"; // 同名のフォルダを作成する。 Directory.CreateDirectory("サブフォルダ"); // コピー FileCopyUtil.DirectoryCopy(source, false); Assert.True(Directory.Exists("サブフォルダ")); // 上書きなしなのでファイルが存在しないはず Assert.False(File.Exists(@"サブフォルダ2\test2.txt")); }
public void フォルダ読込禁止() { FileCopyUtil.DirectoryCopy(@"テストデータフォルダ"); SecurityUtil.Read(new DirectoryInfo("テストデータフォルダ"), AccessControlType.Deny); var ex = Assert.Throws <UnauthorizedAccessException>(() => { Directory.GetFiles("テストデータフォルダ"); }); // 権限が無いままだと削除できないため、権限を付与 SecurityUtil.Read(new DirectoryInfo("テストデータフォルダ"), AccessControlType.Allow); // フォルダ内のファイル列挙でUnauthorizedAccessExceptionが発生したらOK StringAssert.Contains("テストデータフォルダ", ex.Message); }
public void コピー_上書きエラー() { string source = @"テストデータフォルダ\サブフォルダ"; // 同名のフォルダを作成し、削除できないようにする Directory.CreateDirectory("サブフォルダ"); var fs = File.Create(@"サブフォルダ\フォルダ削除失敗用.txt"); var ex = Assert.Throws <ApplicationException>(() => { FileCopyUtil.DirectoryCopy(source); }); // 上書きに失敗しているため、ファイルは存在しないはず。 Assert.IsFalse(File.Exists("サブフォルダ\test2.txt")); StringAssert.StartsWith("【DirectoryCopy】", ex.Message); StringAssert.Contains("サブフォルダ", ex.Message); StringAssert.EndsWith("の削除に失敗しました。", ex.Message); // 後処理 fs.Close(); }