Exemplo n.º 1
0
        public void Appendで3行ログを追加すると通常ログが3行になる()
        {
            const int logKind = 2; //固定ログの種類
            const string fileName = "BlackJumboDog.Log";

            //setUp
            var dir = TestUtil.GetTmpPath(TmpDir);
            Directory.CreateDirectory(dir);
            var sut = new LogFile(dir, logKind, logKind, 0,true);
            sut.Append(
                new OneLog("2012/06/01 00:00:00\tDetail\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            sut.Append(
                new OneLog("2012/06/02 00:00:00\tError\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            sut.Append(
                new OneLog("2012/06/03 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            sut.Dispose();

            const int expected = 3;

            //exercise
            var lines = File.ReadAllLines(String.Format("{0}\\{1}", dir, fileName));
            var actual = lines.Length;

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
Exemplo n.º 2
0
        public void ログの種類固定で予想されたパターンのファイルが2つ生成される()
        {
            const int logKind = 2; //固定ログの種類
            const string pattern = "*.Log";

            //setUp
            var dir = TestUtil.GetTmpPath(TmpDir);
            Directory.CreateDirectory(dir);
            var sut = new LogFile(dir, logKind, logKind, 0,true);

            const int expected = 2;

            //exercise
            var actual = Directory.GetFiles(dir,pattern).Count();

            //verify
            Assert.That(actual, Is.EqualTo(expected));

            //tearDown
            sut.Dispose();
        }
Exemplo n.º 3
0
        public void 過去7日分のログを準備して本日からsaveDaysでtailする()
        {
            //setUp
            var dir = TestUtil.GetTmpPath(TmpDir);
            Directory.CreateDirectory(dir);

            //2012/09/01~7日分のログを準備
            var logFile = new LogFile(dir, 2, 2, 0,true); //最初は、保存期間指定なしで起動する
            logFile.Append(
                new OneLog("2012/09/01 00:00:00\tDetail\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Append(
                new OneLog("2012/09/02 00:00:00\tError\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Append(
                new OneLog("2012/09/03 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Append(
                new OneLog("2012/09/04 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Append(
                new OneLog("2012/09/05 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Append(
                new OneLog("2012/09/06 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Append(
                new OneLog("2012/09/07 00:00:00\tSecure\t3208\tWeb-localhost:88\t127.0.0.1\t0000018\texecute\tramapater"));
            logFile.Dispose();

            const int expected = 2;

            //exercise
            //リフレクションを使用してprivateメソッドにアクセスする
            var cls = logFile;
            var type = cls.GetType();
            var methodInfo = type.GetMethod("Tail", BindingFlags.NonPublic | BindingFlags.Instance);

            var dt = new DateTime(2012, 9, 7);//2012.9.7に設定する
            var path = string.Format("{0}\\BlackJumboDog.Log", dir);
            const int saveDays = 2; //保存期間2日
            methodInfo.Invoke(cls, new object[] { path, saveDays, dt });

            var actual = File.ReadAllLines(path).Length;

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }