コード例 #1
0
        public void A_AAAA_NS以外タイプは例外が発生する()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.AddNamedCaLine(sut, "", ".                        3600000  IN  MX    A.ROOT-SERVERS.NET.");
        }
コード例 #2
0
        public void AAAAタイプでアドレスに矛盾があると例外が発生する()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.AddNamedCaLine(sut, "", "A.ROOT-SERVERS.NET.      3600000      AAAA     192.168.0.1");
        }
コード例 #3
0
        public void DnsTypeが無い場合例外が発生する()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.AddNamedCaLine(sut, "", ".                        3600000  IN      A.ROOT-SERVERS.NET.");
        }
コード例 #4
0
        public void AAAAタイプで不正なアドレスを指定すると例外が発生する()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.AddNamedCaLine(sut, "", "A.ROOT-SERVERS.NET.      3600000      AAAA     xxx");
        }
コード例 #5
0
        public void DnsTypeの次のカラムのDataが無い場合例外が発生する()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.AddNamedCaLine(sut, "", ".                        3600000  IN  NS");
        }
コード例 #6
0
        public void 予め同一ドメインのNSレコードが無い場合失敗する_レコードが無い()
        {
            //setUp
            RrDb sut      = new RrDb();
            bool expected = false;
            //exercise
            bool actual = RrDbTest.InitSoa(sut, "aaa.com.", "mail.", 1, 2, 3, 4, 5);

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #7
0
        public void  前補完_アットマークの場合ドメイン名になる()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var expected = "example.com.";
            var actual   = RrDbTest.AddNamedCaLine(sut, "", "@      3600000      A     198.41.0.4");

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #8
0
        public void  前補完_最後にドットが無い場合_ドメイン名が補完される()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var expected = "www.example.com.";
            var actual   = RrDbTest.AddNamedCaLine(sut, "", "www      3600000      A     198.41.0.4");

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #9
0
        public void  前補完_指定されない場合_前行と同じになる()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var expected = "before.aaa.com.";
            var actual   = RrDbTest.AddNamedCaLine(sut, "before.aaa.com.", "     3600000      A     198.41.0.4");

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #10
0
        public void NSレコードの処理()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            string retName = RrDbTest.AddNamedCaLine(sut, "", ".                        3600000  IN  NS    A.ROOT-SERVERS.NET.");

            //verify
            Assert.That(retName, Is.EqualTo("."));
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(1));                                         //Ns
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("Ns . TTL=0 A.ROOT-SERVERS.NET.")); //TTLは強制的に0になる
        }
コード例 #11
0
        public void Aレコードの処理()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var retName = RrDbTest.AddNamedCaLine(sut, "", "A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4");

            //verify
            Assert.That(retName, Is.EqualTo("A.ROOT-SERVERS.NET."));
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(1));                                                 //A
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("A A.ROOT-SERVERS.NET. TTL=0 198.41.0.4")); //TTLは強制的に0になる
        }
コード例 #12
0
        public void AAAAレコードの処理()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var retName = RrDbTest.AddNamedCaLine(sut, "", "A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:BA3E::2:30");

            //verify
            Assert.That(retName, Is.EqualTo("A.ROOT-SERVERS.NET."));
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(1));                                                             //Aaaa
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("Aaaa A.ROOT-SERVERS.NET. TTL=0 2001:503:ba3e::2:30")); //TTLは強制的に0になる
        }
コード例 #13
0
ファイル: RrDbTest_Add.cs プロジェクト: schifflee/bjd5
        public void  一リソースの追加_TTLが0以外の場合は上書きされる()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var ttl = 10u; //最初のリソースはTTL=0以外

            sut.Add(new RrA("domain", ttl, new Ip("1.2.3.4")));
            sut.Add(new RrA("domain", 20, new Ip("1.2.3.4")));
            //verify
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(1));        //件数は1件になる
            Assert.That(RrDbTest.Get(sut, 0).Ttl, Is.EqualTo(20)); //TTLは後から追加した20になる
        }
コード例 #14
0
        public void 予め同一ドメインのNSレコードが無い場合失敗する_ドメインは同じだがNSレコードではない()
        {
            //setUp
            RrDb sut      = new RrDb();
            bool expected = false;

            sut.Add(new RrA("aaa.com.", 0, new Ip("192.168.0.1"))); //ドメインは同じだがNSレコードではない
            //exercise
            bool actual = RrDbTest.InitSoa(sut, "aaa.com.", "mail.", 1, 2, 3, 4, 5);

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #15
0
        public void 予め同一ドメインのNSレコードが無い場合失敗する_NSレコードはあるがドメインが違う()
        {
            //setUp
            RrDb sut      = new RrDb();
            bool expected = false;

            sut.Add(new RrNs("bbb.com.", 0, "ns.bbb.com.")); //NSレコードはあるがドメインが違う
            //exercise
            bool actual = RrDbTest.InitSoa(sut, "aaa.com.", "mail.", 1, 2, 3, 4, 5);

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #16
0
        public void 予め同一ドメインのNSレコードが有る場合成功する()
        {
            //setUp
            RrDb sut      = new RrDb();
            bool expected = true;

            sut.Add(new RrNs("aaa.com.", 0, "ns.aaa.com."));
            //exercise
            bool actual = RrDbTest.InitSoa(sut, "aaa.com.", "mail.", 1, 2, 3, 4, 5);

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #17
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void CNAMEレコードを読み込んだ時_CNAMEが保存される()
        {
            //setUp
            var sut    = new RrDb();
            var oneDat = new OneDat(true, new[] { "3", "cname", "alias", "255.254.253.252", "0" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(1)); //Cname
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("Cname alias.aaa.com. TTL=0 cname.aaa.com."));
        }
コード例 #18
0
        public void 空白行は処理されない()
        {
            //setUp
            var sut = new RrDb();
            //exercise
            var expected = 0;

            RrDbTest.AddNamedCaLine(sut, "", "");
            var actual = RrDbTest.Size(sut);

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #19
0
        public void 件数は4件になる()
        {
            //setUp
            var sut      = new RrDb();
            var expected = 5;

            //exercise
            RrDbTest.InitLocalHost(sut);
            var actual = RrDbTest.Size(sut);

            //verify
            Assert.That(actual, Is.EqualTo(expected));
        }
コード例 #20
0
        public void リソース確認_5番目はNSレコードとなる()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.InitLocalHost(sut);
            var o = (RrNs)RrDbTest.Get(sut, 4);

            //verify
            Assert.That(o.DnsType, Is.EqualTo(DnsType.Ns));
            Assert.That(o.Name, Is.EqualTo("localhost."));
            Assert.That(o.NsName, Is.EqualTo("localhost."));
        }
コード例 #21
0
        public void リソース確認_4番目はPTRレコードとなる()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.InitLocalHost(sut);
            var o = (RrPtr)RrDbTest.Get(sut, 3);

            //verify
            Assert.That(o.DnsType, Is.EqualTo(DnsType.Ptr));
            Assert.That(o.Name, Is.EqualTo("1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA."));
            Assert.That(o.Ptr, Is.EqualTo("localhost."));
        }
コード例 #22
0
        public void リソース確認_3番目はAAAAレコードとなる()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.InitLocalHost(sut);
            var o = (RrAaaa)RrDbTest.Get(sut, 2);

            //verify
            //Assert.That(o.getDnsType(), Is.EqualTo(DnsType.Aaaa));
            //Assert.That(o.getName(), Is.EqualTo("localhost."));
            Assert.That(o.Ip.ToString(), Is.EqualTo("::1"));
        }
コード例 #23
0
        public void リソース確認_1番目はAレコードとなる()
        {
            //setUp
            var sut = new RrDb();

            //exercise
            RrDbTest.InitLocalHost(sut);
            var o = (RrA)RrDbTest.Get(sut, 0);

            //verify
            Assert.That(o.DnsType, Is.EqualTo(DnsType.A));
            Assert.That(o.Name, Is.EqualTo("localhost."));
            Assert.That(o.Ip.ToString(), Is.EqualTo("127.0.0.1"));
        }
コード例 #24
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void Aレコードを読み込んだ時_A及びPTRが保存される()
        {
            //setUp
            var sut    = new RrDb();
            var oneDat = new OneDat(true, new[] { "0", "www", "alias", "192.168.0.1", "10" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(2)); //A,PTR
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("A www.aaa.com. TTL=0 192.168.0.1"));
            Assert.That(print(RrDbTest.Get(sut, 1)), Is.EqualTo("Ptr 1.0.168.192.in-addr.arpa. TTL=0 www.aaa.com."));
        }
コード例 #25
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void AAAAレコードを読み込んだ時_AAAA及びPTRが保存される()
        {
            //setUp
            var sut    = new RrDb();
            var oneDat = new OneDat(true, new[] { "4", "www", "alias", "fe80::f509:c5be:437b:3bc5", "10" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(2)); //AAAA,PTR
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("Aaaa www.aaa.com. TTL=0 fe80::f509:c5be:437b:3bc5"));
            Assert.That(print(RrDbTest.Get(sut, 1)), Is.EqualTo("Ptr 5.c.b.3.b.7.3.4.e.b.5.c.9.0.5.f.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. TTL=0 www.aaa.com."));
        }
コード例 #26
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void enable_falseのデータを追加すると例外が発生する()
        {
            //実際に発生するのはValidObjExceptionだが、privateメソッドの制約のためExceptionの発生をテストする

            //setUp
            var sut    = new RrDb();
            var oneDat = new OneDat(false, new[] { "0", "www", "alias", "192.168.0.1", "10" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify
            Assert.Fail("ここが実行されたらテスト失敗");
        }
コード例 #27
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void 無効なタイプのレコードを読み込むと例外が発生する()
        {
            //実際に発生するのはValidObjExceptionだが、privateメソッドの制約のためExceptionの発生をテストする

            //setUp
            var sut = new RrDb();
            //タイプは0~4まで
            var oneDat = new OneDat(true, new[] { "5", "www", "alias", "127.0.0.1", "0" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify
            Assert.Fail("ここが実行されたらテスト失敗");
        }
コード例 #28
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void MXレコードを読み込んだ時_MX_A及びPTRが保存される()
        {
            //setUp
            var sut    = new RrDb();
            var oneDat = new OneDat(true, new[] { "2", "smtp", "alias", "210.10.2.250", "15" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(3)); //MX,A,PTR
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("Mx aaa.com. TTL=0 15 smtp.aaa.com."));
            Assert.That(print(RrDbTest.Get(sut, 1)), Is.EqualTo("A smtp.aaa.com. TTL=0 210.10.2.250"));
            Assert.That(print(RrDbTest.Get(sut, 2)), Is.EqualTo("Ptr 250.2.10.210.in-addr.arpa. TTL=0 smtp.aaa.com."));
        }
コード例 #29
0
ファイル: RrDbName_AddOneDat.cs プロジェクト: njgnme/bjd5
        public void NSレコードを読み込んだ時_NS_A及びPTRが保存される()
        {
            //setUp
            var sut    = new RrDb();
            var oneDat = new OneDat(true, new[] { "1", "ns", "alias", "111.3.255.0", "0" }, _isSecret);

            //exercise
            RrDbTest.AddOneDat(sut, DomainName, oneDat);

            //verify count
            Assert.That(RrDbTest.Size(sut), Is.EqualTo(3)); //NS,A,PTR
            Assert.That(print(RrDbTest.Get(sut, 0)), Is.EqualTo("Ns aaa.com. TTL=0 ns.aaa.com."));
            Assert.That(print(RrDbTest.Get(sut, 1)), Is.EqualTo("A ns.aaa.com. TTL=0 111.3.255.0"));
            Assert.That(print(RrDbTest.Get(sut, 2)), Is.EqualTo("Ptr 0.255.3.111.in-addr.arpa. TTL=0 ns.aaa.com."));
        }
コード例 #30
0
ファイル: RrDbTest_Add.cs プロジェクト: schifflee/bjd5
        public void 異なるリソースの追加()
        {
            //setUp
            var sut      = new RrDb();
            var expected = 3; //全部で3件になる

            //exercise
            sut.Add(new RrA("domain", 10, new Ip("1.2.3.4")));
            sut.Add(new RrA("domain", 10, new Ip("3.4.5.6")));
            sut.Add(new RrNs("domain", 10, "ns"));
            var actual = RrDbTest.Size(sut);

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