示例#1
0
        public void ファイル削除()
        {
            string source = @"テストデータフォルダ\test1.txt";

            FileCopyUtil.FileCopy(source);
            Assert.IsTrue(File.Exists("test1.txt"));
            FileDeleteUtil.DeleteFile();
            Assert.IsFalse(File.Exists("test1.txt"));
        }
示例#2
0
        public void ファイル読込許可()
        {
            FileCopyUtil.FileCopy(@"テストデータフォルダ\test1.txt");
            SecurityUtil.Read(new FileInfo("test1.txt"), AccessControlType.Allow);

            File.Open("test1.txt", FileMode.Open).Close();
            // ファイルオープンでUnauthorizedAccessExceptionが発生しなければOK
            Assert.Pass();
        }
示例#3
0
        public void フォルダ読込許可()
        {
            FileCopyUtil.DirectoryCopy(@"テストデータフォルダ");
            SecurityUtil.Read(new DirectoryInfo("テストデータフォルダ"), AccessControlType.Allow);

            Directory.GetFiles("テストデータフォルダ");
            // フォルダ内のファイル列挙でUnauthorizedAccessExceptionが発生しなければOK

            Assert.Pass();
        }
示例#4
0
        public void 別名コピー()
        {
            string source = @"テストデータフォルダ\サブフォルダ";

            // コピー
            FileCopyUtil.DirectoryCopy(source, "新しい名前");

            // 指定した名前で作成されているはず
            Assert.True(Directory.Exists("新しい名前"));
        }
示例#5
0
        public void ファイル読込禁止()
        {
            FileCopyUtil.FileCopy(@"テストデータフォルダ\test1.txt");
            SecurityUtil.Read(new FileInfo("test1.txt"), AccessControlType.Deny);

            var ex = Assert.Throws <UnauthorizedAccessException>(() =>
            {
                File.Open("test1.txt", FileMode.Open).Close();
            });

            // ファイルオープンでUnauthorizedAccessExceptionが発生したらOK
            StringAssert.Contains("test1.txt", ex.Message);
        }
示例#6
0
        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)が存在しません。"));
        }
示例#7
0
        public void   コピー_上書きなし()
        {
            string source = @"テストデータフォルダ\サブフォルダ";

            // 同名のフォルダを作成する。
            Directory.CreateDirectory("サブフォルダ");

            // コピー
            FileCopyUtil.DirectoryCopy(source, false);

            Assert.True(Directory.Exists("サブフォルダ"));
            // 上書きなしなのでファイルが存在しないはず
            Assert.False(File.Exists(@"サブフォルダ2\test2.txt"));
        }
示例#8
0
        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);
        }
示例#9
0
        public void ファイル削除禁止()
        {
            FileCopyUtil.FileCopy(@"テストデータフォルダ\test1.txt");
            SecurityUtil.Delete(new FileInfo("test1.txt"), AccessControlType.Deny);

            var ex = Assert.Throws <UnauthorizedAccessException>(() =>
            {
                File.Delete("test1.txt");
            });

            // ファイル削除でUnauthorizedAccessExceptionが発生したらOK
            StringAssert.Contains("test1.txt", ex.Message);

            SecurityUtil.Delete(new FileInfo("test1.txt"), AccessControlType.Allow);
        }
示例#10
0
        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();
        }
示例#11
0
        public void 正常系()
        {
            string source = @"テストデータフォルダ";

            // コピー
            FileCopyUtil.DirFileCopy(source);

            // 指定したフォルダは存在しない
            Assert.False(Directory.Exists("テストデータフォルダ"));

            // 指定したフォルダ以下のファイルが存在する
            Assert.True(File.Exists("test1.txt"));
            Assert.True(File.Exists("テストファイル.txt"));

            // 指定したフォルダ以下のフォルダが存在する
            Assert.True(Directory.Exists("サブフォルダ"));
            Assert.True(Directory.Exists("隠しフォルダ"));

            // 指定したフォルダ以下のフォルダ内のファイルが存在する
            Assert.True(File.Exists(@"サブフォルダ\test2.txt"));
        }