private async Task SetupAsync(
            Dictionary <string, IProjectRuleSnapshotModel> projectSnapshot = null,
            Dictionary <string, IProjectRuleSnapshotModel> sourceSnapshot  = null,
            bool expectUpToDate = true)
        {
            await _buildUpToDateCheck.LoadAsync();

            // Run one change event to set things up.
            BroadcastChange(projectSnapshot, sourceSnapshot);

            // The first check will always return false, so flush it out here.
            var writer = new AssertWriter {
                "The list of source items has changed since the last build, not up to date."
            };

            Assert.False(await _buildUpToDateCheck.IsUpToDateAsync(BuildAction.Build, writer), "Never up to date on the first check");
            AssertTelemetryFailureEvent("ItemInfoOutOfDate");
            writer.Assert();

            if (expectUpToDate)
            {
                // Run through once so we know things are considered up to date before running further tests.
                // Most tests will assert that the project is not up to date, so this provides a good baseline.
                await AssertUpToDateAsync("No build outputs defined.");
            }
        }
        private async Task AssertNotUpToDateAsync(IReadOnlyList <string> logMessages, string telemetryReason = null, BuildAction buildAction = BuildAction.Build)
        {
            var writer = new AssertWriter();

            if (logMessages != null)
            {
                foreach (var logMessage in logMessages)
                {
                    writer.Add(logMessage);
                }
            }

            Assert.False(await _buildUpToDateCheck.IsUpToDateAsync(buildAction, writer));

            if (telemetryReason != null)
            {
                AssertTelemetryFailureEvent(telemetryReason);
            }
            else
            {
                Assert.Empty(_telemetryEvents);
            }

            writer.Assert();
        }
예제 #3
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.eu", "eu", "found.txt");
            var response = parser.Parse("whois.eu", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.eu/eu/Found", response.TemplateName);

            Assert.AreEqual("eurid.eu", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("EURid vzw/asbl", response.Registrar.Name);

            // Nameservers
            Assert.AreEqual(5, response.NameServers.Count);
            Assert.AreEqual("a.nic.eu", response.NameServers[0]);
            Assert.AreEqual("l.nic.eu", response.NameServers[1]);
            Assert.AreEqual("p.nic.eu", response.NameServers[2]);
            Assert.AreEqual("ns1.eurid.eu", response.NameServers[3]);
            Assert.AreEqual("ns2.eurid.eu", response.NameServers[4]);

            Assert.AreEqual(8, response.FieldsParsed);
        }
예제 #4
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.nic.ec", "ex", "found.txt");
            var response = parser.Parse("whois.nic.ec", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.nic.ec/ex/Found", response.TemplateName);

            Assert.AreEqual("google.ec", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("MarkMonitor Inc.", response.Registrar.Name);
            Assert.AreEqual("www.markmonitor.com", response.Registrar.Url);

            Assert.AreEqual(new DateTime(2013, 09, 17, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2003, 10, 16, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2014, 10, 16, 00, 00, 00, 000, DateTimeKind.Utc), response.Expiration);

            // Registrant Details
            Assert.AreEqual("Rose Hagan", response.Registrant.Name);
            Assert.AreEqual("Google Inc.", response.Registrant.Organization);
            Assert.AreEqual("1-6503300100", response.Registrant.TelephoneNumber);
            Assert.AreEqual("1-6503300100", response.Registrant.FaxNumber);
            Assert.AreEqual("*****@*****.**", response.Registrant.Email);

            // Registrant Address
            Assert.AreEqual(3, response.Registrant.Address.Count);
            Assert.AreEqual("2400 E. Bayshore Pkwy", response.Registrant.Address[0]);
            Assert.AreEqual("Mountain View, CA 94043", response.Registrant.Address[1]);
            Assert.AreEqual("US", response.Registrant.Address[2]);


            // AdminContact Details
            Assert.AreEqual("Domain Provisioning", response.AdminContact.Name);
            Assert.AreEqual("MarkMonitor", response.AdminContact.Organization);
            Assert.AreEqual("1208-3895799", response.AdminContact.TelephoneNumber);
            Assert.AreEqual("*****@*****.**", response.AdminContact.Email);

            // AdminContact Address
            Assert.AreEqual(3, response.AdminContact.Address.Count);
            Assert.AreEqual("10400 Overland Rd.,PMB 155", response.AdminContact.Address[0]);
            Assert.AreEqual("Boise, Idaho 83709", response.AdminContact.Address[1]);
            Assert.AreEqual("US", response.AdminContact.Address[2]);


            // Nameservers
            Assert.AreEqual(4, response.NameServers.Count);
            Assert.AreEqual("ns1.google.com", response.NameServers[0]);
            Assert.AreEqual("ns2.google.com", response.NameServers[1]);
            Assert.AreEqual("ns3.google.com", response.NameServers[2]);
            Assert.AreEqual("ns4.google.com", response.NameServers[3]);

            Assert.AreEqual(27, response.FieldsParsed);
        }
예제 #5
0
        public void Test_unavailable()
        {
            var sample   = SampleReader.Read("whois.domain-registry.nl", "nl", "unavailable.txt");
            var response = parser.Parse("whois.domain-registry.nl", "nl", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisResponseStatus.Unavailable, response.Status);

            AssertWriter.Write(response);
        }
예제 #6
0
        public void Test_not_assigned()
        {
            var sample   = SampleReader.Read("whois.iana.org", "tld", "not_assigned.txt");
            var response = parser.Parse("whois.iana.org", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.NotAssigned, response.Status);

            AssertWriter.Write(response);
        }
        private async Task AssertUpToDateAsync()
        {
            var writer = new AssertWriter {
                "Project is up to date."
            };

            Assert.True(await _buildUpToDateCheck.IsUpToDateAsync(BuildAction.Build, writer));
            AssertTelemetrySuccessEvent();
            writer.Assert();
        }
예제 #8
0
        public void Test_not_found()
        {
            var sample   = SampleReader.Read("whois.nic.sh", "sh", "not_found.txt");
            var response = parser.Parse("whois.nic.sh", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.NotFound, response.Status);

            AssertWriter.Write(response);
        }
예제 #9
0
        public void Test_reserved_status_reserved()
        {
            var sample   = SampleReader.Read("whois.cnnic.cn", "cn", "reserved_status_reserved.txt");
            var response = parser.Parse("whois.cnnic.cn", "cn", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisResponseStatus.Reserved, response.Status);

            AssertWriter.Write(response);
        }
예제 #10
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.afilias-grs.info", "bz", "found.txt");
            var response = parser.Parse("whois.afilias-grs.info", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
        }
예제 #11
0
        public void Test_pending_delete()
        {
            var sample   = SampleReader.Read("whois.verisign-grs.com", "com", "pending_delete.txt");
            var response = parser.Parse("whois.verisign-grs.com", "com", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisResponseStatus.PendingDelete, response.Status);

            AssertWriter.Write(response);
        }
예제 #12
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.verisign-grs.com", "com", "found.txt");
            var response = parser.Parse("whois.verisign-grs.com", "com", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisResponseStatus.Found, response.Status);

            AssertWriter.Write(response);
        }
예제 #13
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.thnic.co.th", "th", "found.txt");
            var response = parser.Parse("whois.thnic.co.th", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.thnic.co.th/th/Found", response.TemplateName);

            Assert.AreEqual("google.co.th", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("T.H.NIC Co., Ltd.", response.Registrar.Name);

            Assert.AreEqual(new DateTime(2012, 09, 07, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2004, 10, 08, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2013, 10, 07, 00, 00, 00, 000, DateTimeKind.Utc), response.Expiration);

            // Registrant Details
            Assert.AreEqual("Google Inc.", response.Registrant.Name);

            // Registrant Address
            Assert.AreEqual(3, response.Registrant.Address.Count);
            Assert.AreEqual("2400 Bayshore Parkway, Mountain Veiw, CA", response.Registrant.Address[0]);
            Assert.AreEqual("94043", response.Registrant.Address[1]);
            Assert.AreEqual("US", response.Registrant.Address[2]);


            // TechnicalContact Details
            Assert.AreEqual("13244", response.TechnicalContact.RegistryId);
            Assert.AreEqual("MarkMonitor Inc.", response.TechnicalContact.Name);

            // TechnicalContact Address
            Assert.AreEqual(3, response.TechnicalContact.Address.Count);
            Assert.AreEqual("391 N Ancestor Place, Boise, ID", response.TechnicalContact.Address[0]);
            Assert.AreEqual("83704", response.TechnicalContact.Address[1]);
            Assert.AreEqual("US", response.TechnicalContact.Address[2]);


            // Nameservers
            Assert.AreEqual(4, response.NameServers.Count);
            Assert.AreEqual("ns1.google.com", response.NameServers[0]);
            Assert.AreEqual("ns2.google.com", response.NameServers[1]);
            Assert.AreEqual("ns3.google.com", response.NameServers[2]);
            Assert.AreEqual("ns4.google.com", response.NameServers[3]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("ACTIVE", response.DomainStatus[0]);

            Assert.AreEqual(20, response.FieldsParsed);
        }
예제 #14
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.co.ug", "ug", "found.txt");
            var response = parser.Parse("whois.co.ug", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.co.ug/ug/Found", response.TemplateName);

            Assert.AreEqual("whois.co.ug", response.DomainName.ToString());

            Assert.AreEqual(new DateTime(2009, 11, 10, 14, 06, 58, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2001, 04, 02, 00, 00, 00, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2018, 04, 07, 00, 00, 00, DateTimeKind.Utc), response.Expiration);

            // AdminContact Details
            Assert.AreEqual("CM260", response.AdminContact.RegistryId);
            Assert.AreEqual("Charles Musisi", response.AdminContact.Name);
            Assert.AreEqual("+256 31 230 1800", response.AdminContact.TelephoneNumber);

            // AdminContact Address
            Assert.AreEqual(3, response.AdminContact.Address.Count);
            Assert.AreEqual("Computer Frontiers International, Plot 6B Windsor Loop, P.O. Box 12", response.AdminContact.Address[0]);
            Assert.AreEqual("Kampala", response.AdminContact.Address[1]);
            Assert.AreEqual("Uganda", response.AdminContact.Address[2]);


            // TechnicalContact Details
            Assert.AreEqual("MJ5-UG", response.TechnicalContact.RegistryId);
            Assert.AreEqual("Mpeirwe Johnson", response.TechnicalContact.Name);
            Assert.AreEqual("+256782694615", response.TechnicalContact.TelephoneNumber);

            // TechnicalContact Address
            Assert.AreEqual(3, response.TechnicalContact.Address.Count);
            Assert.AreEqual("Plot 6B, Windor Loop Kitante", response.TechnicalContact.Address[0]);
            Assert.AreEqual("Kampala", response.TechnicalContact.Address[1]);
            Assert.AreEqual("Uganda", response.TechnicalContact.Address[2]);


            // Nameservers
            Assert.AreEqual(3, response.NameServers.Count);
            Assert.AreEqual("ns1.cfi.co.ug", response.NameServers[0]);
            Assert.AreEqual("ns2.cfi.co.ug", response.NameServers[1]);
            Assert.AreEqual("ns3.cfi.co.ug", response.NameServers[2]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("ACTIVE", response.DomainStatus[0]);

            Assert.AreEqual(23, response.FieldsParsed);
            AssertWriter.Write(response);
        }
예제 #15
0
        public void Test_found_001hosting()
        {
            var sample   = SampleReader.Read("whois.registro.br", "br", "001hosting.com.br.txt");
            var response = parser.Parse("whois.registro.br", sample);

            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.registro.br/br/Found", response.TemplateName);

            Assert.AreEqual("001hosting.com.br", response.DomainName.ToString());

            Assert.AreEqual(new DateTime(2019, 04, 06, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2001, 09, 19, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);

            // Registrant Details
            Assert.AreEqual("350.562.738-05", response.Registrant.RegistryId);
            Assert.AreEqual("Ultra Provedor", response.Registrant.Name);


            // AdminContact Details
            Assert.AreEqual("ULPRO5", response.AdminContact.RegistryId);
            Assert.AreEqual("Ultra Provedor", response.AdminContact.Name);
            Assert.AreEqual("*****@*****.**", response.AdminContact.Email);
            Assert.AreEqual(new DateTime(2018, 02, 26, 00, 00, 00, 000, DateTimeKind.Utc), response.AdminContact.Created);


            // BillingContact Details
            Assert.AreEqual("ULPRO5", response.BillingContact.RegistryId);
            Assert.AreEqual("Ultra Provedor", response.BillingContact.Name);
            Assert.AreEqual("*****@*****.**", response.BillingContact.Email);
            Assert.AreEqual(new DateTime(2018, 02, 26, 00, 00, 00, 000, DateTimeKind.Utc), response.BillingContact.Created);


            // TechnicalContact Details
            Assert.AreEqual("ULPRO5", response.TechnicalContact.RegistryId);
            Assert.AreEqual("Ultra Provedor", response.TechnicalContact.Name);
            Assert.AreEqual("*****@*****.**", response.TechnicalContact.Email);
            Assert.AreEqual(new DateTime(2018, 02, 26, 00, 00, 00, 000, DateTimeKind.Utc), response.TechnicalContact.Created);


            // Nameservers
            Assert.AreEqual(3, response.NameServers.Count);
            Assert.AreEqual("ns1.ultraprovedor.com.br", response.NameServers[0]);
            Assert.AreEqual("ns2.ultraprovedor.com.br", response.NameServers[1]);
            Assert.AreEqual("ns3.ultraprovedor.com.br", response.NameServers[2]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("published", response.DomainStatus[0]);

            Assert.AreEqual(18, response.FieldsParsed);
        }
예제 #16
0
        public void Test_not_found()
        {
            var sample   = SampleReader.Read("capetown-whois.registry.net.za", "capetown", "not_found.txt");
            var response = parser.Parse("capetown-whois.registry.net.za", "capetown", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisResponseStatus.NotFound, response.Status);
            Assert.AreEqual("nosuchdomain.capetown", response.DomainName);

            AssertWriter.Write(response);
        }
예제 #17
0
        public void TestLookupNotFound()
        {
            lookup.TcpReader = new FakeTcpReader(reader.Read("whois.iana.org", "tld", "not_assigned.txt"));

            var response = lookup.Lookup(new WhoisRequest("test.be"));

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);

            Assert.AreEqual("eh", response.DomainName.ToString());


            Assert.AreEqual(0, response.FieldsParsed);
        }
예제 #18
0
        public void Test_found()
        {
            var sample = SampleReader.Read("whois.tld.ee", "ee", "found.txt");
            var response = parser.Parse("whois.tld.ee", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.tld.ee/ee/Found", response.TemplateName);

            Assert.AreEqual("internet.ee", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("Elisa Eesti AS", response.Registrar.Name);
            Assert.AreEqual("http://www.elisa.ee", response.Registrar.Url);
            Assert.AreEqual("+372 660 0600", response.Registrar.AbuseTelephoneNumber);

            Assert.AreEqual(new DateTime(2010, 11, 29, 11, 32, 16, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2010, 08, 10, 13, 43, 38, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2017, 02, 04, 00, 00, 00, 000, DateTimeKind.Utc), response.Expiration);

             // Registrant Details
            Assert.AreEqual("Eesti Interneti Sihtasutus", response.Registrant.Name);
            Assert.AreEqual(new DateTime(2010, 11, 29, 11, 32, 16, 000, DateTimeKind.Utc), response.Registrant.Updated);


             // AdminContact Details
            Assert.AreEqual("Jaana Järve", response.AdminContact.Name);
            Assert.AreEqual(new DateTime(2015, 10, 30, 06, 31, 21, 000, DateTimeKind.Utc), response.AdminContact.Updated);


             // TechnicalContact Details
            Assert.AreEqual("Jaana Järve", response.TechnicalContact.Name);
            Assert.AreEqual(new DateTime(2015, 10, 30, 06, 31, 21, 000, DateTimeKind.Utc), response.TechnicalContact.Updated);


            // Nameservers
            Assert.AreEqual(1, response.NameServers.Count);
            Assert.AreEqual("c.tld.ee", response.NameServers[0]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("ok (paid and in zone)", response.DomainStatus[0]);

            Assert.AreEqual(16, response.FieldsParsed);
        }
예제 #19
0
        public void Test_not_found()
        {
            var sample   = SampleReader.Read("whois.nic.gs", "gs", "not_found.txt");
            var response = parser.Parse("whois.nic.gs", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.NotFound, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.nic.gs/gs/NotFound", response.TemplateName);

            Assert.AreEqual("u34jedzcq.gs", response.DomainName.ToString());

            Assert.AreEqual(2, response.FieldsParsed);
        }
        private async Task AssertUpToDateAsync(params string[] logMessages)
        {
            var writer = new AssertWriter();

            if (logMessages != null)
            {
                foreach (var logMessage in logMessages)
                {
                    writer.Add(logMessage);
                }
            }

            writer.Add("Project is up to date.");

            Assert.True(await _buildUpToDateCheck.IsUpToDateAsync(BuildAction.Build, writer));
            AssertTelemetrySuccessEvent();
            writer.Assert();
        }
예제 #21
0
 private AssertWriter GetWriter()
 {
     if (_Writer == null)
     {
         var next = ShouldOutput() ? base.PrepareWriter() : null;
         _Writer = new AssertWriter(
             Option,
             Source,
             GetOutput(),
             next,
             Option.Output.Style ?? OutputOption.Default.Style.Value,
             _ResultVariableName,
             CmdletContext,
             ExecutionContext
             );
     }
     return(_Writer);
 }
예제 #22
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.eenet.ee", "ee", "found.txt");
            var response = parser.Parse("whois.eenet.ee", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.eenet.ee/ee/Found", response.TemplateName);

            Assert.AreEqual("google.ee", response.DomainName.ToString());

            Assert.AreEqual(new DateTime(2010, 05, 28, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2003, 04, 22, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);

            // Registrant Details
            Assert.AreEqual("ADVOKAADIBÜROO SORAINEN AS", response.Registrant.Name);
            Assert.AreEqual("5274536", response.Registrant.TelephoneNumber);
            Assert.AreEqual("+372 6400 901", response.Registrant.FaxNumber);

            // Registrant Address
            Assert.AreEqual(1, response.Registrant.Address.Count);
            Assert.AreEqual("PÄRNU MNT, 15, HARJUMAA TALLINN KESKLINN 10141", response.Registrant.Address[0]);


            // AdminContact Details
            Assert.AreEqual("Mart Meier", response.AdminContact.Name);
            Assert.AreEqual("*****@*****.**", response.AdminContact.Email);


            // TechnicalContact Details
            Assert.AreEqual("Joshua Hopping", response.TechnicalContact.Name);
            Assert.AreEqual("*****@*****.**", response.TechnicalContact.Email);


            // Nameservers
            Assert.AreEqual(2, response.NameServers.Count);
            Assert.AreEqual("ns1.google.com", response.NameServers[0]);
            Assert.AreEqual("ns2.google.com", response.NameServers[1]);

            Assert.AreEqual(14, response.FieldsParsed);
        }
예제 #23
0
        public void Test_found_amazon_co_jp()
        {
            var sample = SampleReader.Read("whois.jprs.jp", "co.jp", "amazon.co.jp.txt");

            var response = parser.Parse("whois.jprs.jp", "co.jp", sample);

            AssertWriter.Write(response);

            Assert.AreEqual("amazon.co.jp", response.DomainName);
            Assert.AreEqual("Amazon, Inc.", response.Registrant.Name);
            Assert.AreEqual("JC076JP", response.AdminContact.Name);
            Assert.AreEqual("IK4644JP", response.TechnicalContact.Name);
            Assert.AreEqual(4, response.NameServers.Count);
            Assert.AreEqual("ns1.p31.dynect.net", response.NameServers[0]);
            Assert.AreEqual("ns2.p31.dynect.net", response.NameServers[1]);
            Assert.AreEqual("pdns1.ultradns.net", response.NameServers[2]);
            Assert.AreEqual("pdns6.ultradns.co.uk", response.NameServers[3]);
            Assert.AreEqual(new DateTime(2002, 11, 21), response.Registered);
            Assert.AreEqual(new DateTime(2018, 12, 01, 01, 01, 57), response.Updated);
        }
예제 #24
0
        public void Test_found()
        {
            var sample = SampleReader.Read("whois.dotname.co.kr", "com", "found.txt");

            var response = parser.Parse("whois.dotname.co.kr", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("generic/tld/Found02", response.TemplateName);

            Assert.AreEqual("ggemtv.com", response.DomainName.ToString());
            Assert.AreEqual("2282446647_DOMAIN_COM-VRSN", response.RegistryDomainId);

            // Registrar Details
            Assert.AreEqual("Dotname Korea Corp.", response.Registrar.Name);
            Assert.AreEqual("1132", response.Registrar.IanaId);
            Assert.AreEqual("http://www.dotname.co.kr", response.Registrar.Url);
            Assert.AreEqual("whois.dotname.co.kr", response.Registrar.WhoisServer.Value);
            Assert.AreEqual("*****@*****.**", response.Registrar.AbuseEmail);
            Assert.AreEqual("+82.7070900820", response.Registrar.AbuseTelephoneNumber);

            Assert.AreEqual(new DateTime(2019, 07, 05, 03, 28, 02, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2018, 07, 05, 01, 48, 01, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2020, 07, 05, 01, 48, 01, 000, DateTimeKind.Utc), response.Expiration);

            // Nameservers
            Assert.AreEqual(3, response.NameServers.Count);
            Assert.AreEqual("ns11.dnstool.net", response.NameServers[0]);
            Assert.AreEqual("ns12.dnstool.net", response.NameServers[1]);
            Assert.AreEqual("ns13.dnstool.net", response.NameServers[2]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("ok", response.DomainStatus[0]);

            Assert.AreEqual("unsigned", response.DnsSecStatus);
            Assert.AreEqual(17, response.FieldsParsed);
        }
예제 #25
0
        public void Test_found_nameservers_schema_1_with_ip()
        {
            var sample   = SampleReader.Read("whois.sgnic.sg", "sg", "found_nameservers_schema_1_with_ip.txt");
            var response = parser.Parse("whois.sgnic.sg", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.sgnic.sg/sg/Found01", response.TemplateName);

            Assert.AreEqual("canon.com.sg", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("SINGNET PTE LTD", response.Registrar.Name);

            Assert.AreEqual(new DateTime(1996, 01, 09, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2012, 01, 09, 00, 00, 00, 000, DateTimeKind.Utc), response.Expiration);

            // Registrant Details
            Assert.AreEqual("CANON SINGAPORE PTE. LTD.", response.Registrant.Name);
            Assert.AreEqual("67845922", response.Registrant.TelephoneNumber);
            Assert.AreEqual("64753273", response.Registrant.FaxNumber);
            Assert.AreEqual("*****@*****.**", response.Registrant.Email);

            // Registrant Address
            Assert.AreEqual(3, response.Registrant.Address.Count);
            Assert.AreEqual("1 HarbourFront Avenue", response.Registrant.Address[0]);
            Assert.AreEqual("SG", response.Registrant.Address[1]);
            Assert.AreEqual("098632", response.Registrant.Address[2]);


            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("OK", response.DomainStatus[0]);

            Assert.AreEqual(14, response.FieldsParsed);
        }
예제 #26
0
        public void Test_suspended_status_suspended()
        {
            var sample   = SampleReader.Read("whois.nic.uk", "uk", "suspended_status_suspended.txt");
            var response = parser.Parse("whois.nic.uk", sample);

            Assert.AreEqual(WhoisStatus.Suspended, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.nic.uk/uk/Found", response.TemplateName);

            Assert.AreEqual("allofshoes.co.uk", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("Key-Systems GmbH [Tag = KEY-SYSTEMS-DE]", response.Registrar.Name);
            Assert.AreEqual("http://www.key-systems.net", response.Registrar.Url);

            Assert.AreEqual(new DateTime(2012, 02, 09, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(2008, 08, 30, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2010, 08, 30, 00, 00, 00, 000, DateTimeKind.Utc), response.Expiration);

            // Registrant Details
            Assert.AreEqual("Yuan Chen", response.Registrant.Name);

            // Registrant Address
            Assert.AreEqual(4, response.Registrant.Address.Count);
            Assert.AreEqual("Meiyuan Road", response.Registrant.Address[0]);
            Assert.AreEqual("Putian", response.Registrant.Address[1]);
            Assert.AreEqual("351100", response.Registrant.Address[2]);
            Assert.AreEqual("China", response.Registrant.Address[3]);


            // Domain Status
            Assert.AreEqual(2, response.DomainStatus.Count);
            Assert.AreEqual("Renewal required.", response.DomainStatus[0]);
            Assert.AreEqual("*** This registration has been SUSPENDED. ***", response.DomainStatus[1]);

            Assert.AreEqual(14, response.FieldsParsed);
        }
예제 #27
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.register.si", "si", "found.txt");
            var response = parser.Parse("whois.register.si", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.register.si/si/Found", response.TemplateName);

            Assert.AreEqual("google.si", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("AOI d.o.o.", response.Registrar.Name);
            Assert.AreEqual("http://www.aoi.eu/arneswhois", response.Registrar.Url);

            Assert.AreEqual(new DateTime(2005, 04, 04, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2015, 07, 19, 00, 00, 00, 000, DateTimeKind.Utc), response.Expiration);

            // Registrant Details
            Assert.AreEqual("G79455", response.Registrant.RegistryId);

            // Nameservers
            Assert.AreEqual(4, response.NameServers.Count);
            Assert.AreEqual("ns1.google.com", response.NameServers[0]);
            Assert.AreEqual("ns2.google.com", response.NameServers[1]);
            Assert.AreEqual("ns3.google.com", response.NameServers[2]);
            Assert.AreEqual("ns4.google.com", response.NameServers[3]);

            // Domain Status
            Assert.AreEqual(3, response.DomainStatus.Count);
            Assert.AreEqual("server_delete_prohibited", response.DomainStatus[0]);
            Assert.AreEqual("server_transfer_prohibited", response.DomainStatus[1]);
            Assert.AreEqual("server_update_prohibited", response.DomainStatus[2]);

            Assert.AreEqual(12, response.FieldsParsed);
        }
예제 #28
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.iis.nu", "nu", "found.txt");
            var response = parser.Parse("whois.iis.nu", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.iis.nu/nu/Found", response.TemplateName);

            Assert.AreEqual("google.nu", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("MarkMonitor Inc.", response.Registrar.Name);

            Assert.AreEqual(new DateTime(2014, 05, 06, 00, 00, 00, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(1999, 06, 07, 00, 00, 00, DateTimeKind.Utc), response.Registered);
            Assert.AreEqual(new DateTime(2015, 06, 07, 00, 00, 00, DateTimeKind.Utc), response.Expiration);

            // Registrant Details
            Assert.AreEqual("mmr-142621", response.Registrant.RegistryId);

            // Nameservers
            Assert.AreEqual(4, response.NameServers.Count);
            Assert.AreEqual("ns1.google.com", response.NameServers[0]);
            Assert.AreEqual("ns2.google.com", response.NameServers[1]);
            Assert.AreEqual("ns3.google.com", response.NameServers[2]);
            Assert.AreEqual("ns4.google.com", response.NameServers[3]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("ok", response.DomainStatus[0]);

            Assert.AreEqual("unsigned delegation", response.DnsSecStatus);
            Assert.AreEqual(13, response.FieldsParsed);
        }
예제 #29
0
        public void TestLookupBe()
        {
            lookup.TcpReader = new FakeTcpReader(reader.Read("whois.iana.org", "tld", "be.txt"));

            var response = lookup.Lookup(new WhoisRequest("test.be"));

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);

            Assert.AreEqual("be", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("whois.dns.be", response.Registrar.WhoisServer.Value);

            Assert.AreEqual(new DateTime(2014, 07, 30, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);
            Assert.AreEqual(new DateTime(1988, 08, 05, 00, 00, 00, 000, DateTimeKind.Utc), response.Registered);

            // Registrant Details
            Assert.AreEqual("DNS Belgium vzw/asbl", response.Registrant.Organization);

            // Registrant Address
            Assert.AreEqual(3, response.Registrant.Address.Count);
            Assert.AreEqual("Ubicenter, Philipssite 5, bus 13", response.Registrant.Address[0]);
            Assert.AreEqual("Leuven  3001", response.Registrant.Address[1]);
            Assert.AreEqual("Belgium", response.Registrant.Address[2]);


            // AdminContact Details
            Assert.AreEqual("Philip Du Bois", response.AdminContact.Name);
            Assert.AreEqual("DNS Belgium vzw/asbl", response.AdminContact.Organization);
            Assert.AreEqual("+32 16 28 49 70", response.AdminContact.TelephoneNumber);
            Assert.AreEqual("+32 16 28 49 71", response.AdminContact.FaxNumber);
            Assert.AreEqual("*****@*****.**", response.AdminContact.Email);

            // AdminContact Address
            Assert.AreEqual(3, response.AdminContact.Address.Count);
            Assert.AreEqual("Ubicenter, Philipssite 5, bus 13", response.AdminContact.Address[0]);
            Assert.AreEqual("Leuven  3001", response.AdminContact.Address[1]);
            Assert.AreEqual("Belgium", response.AdminContact.Address[2]);


            // TechnicalContact Details
            Assert.AreEqual("David Goelen", response.TechnicalContact.Name);
            Assert.AreEqual("DNS Belgium vzw/asbl", response.TechnicalContact.Organization);
            Assert.AreEqual("+32 16 28 49 70", response.TechnicalContact.TelephoneNumber);
            Assert.AreEqual("+32 16 28 49 71", response.TechnicalContact.FaxNumber);
            Assert.AreEqual("*****@*****.**", response.TechnicalContact.Email);

            // TechnicalContact Address
            Assert.AreEqual(3, response.TechnicalContact.Address.Count);
            Assert.AreEqual("Ubicenter, Philipssite 5, bus 13", response.TechnicalContact.Address[0]);
            Assert.AreEqual("Leuven  3001", response.TechnicalContact.Address[1]);
            Assert.AreEqual("Belgium", response.TechnicalContact.Address[2]);


            // Nameservers
            Assert.AreEqual(6, response.NameServers.Count);
            Assert.AreEqual("a.ns.dns.be", response.NameServers[0]);
            Assert.AreEqual("b.ns.dns.be", response.NameServers[1]);
            Assert.AreEqual("c.ns.dns.be", response.NameServers[2]);
            Assert.AreEqual("d.ns.dns.be", response.NameServers[3]);
            Assert.AreEqual("x.ns.dns.be", response.NameServers[4]);
            Assert.AreEqual("y.ns.dns.be", response.NameServers[5]);

            // Domain Status
            Assert.AreEqual(1, response.DomainStatus.Count);
            Assert.AreEqual("ACTIVE", response.DomainStatus[0]);

            Assert.AreEqual(0, response.FieldsParsed);
        }
예제 #30
0
        public void Test_found()
        {
            var sample   = SampleReader.Read("whois.nic.priv.at", "at", "found.txt");
            var response = parser.Parse("whois.nic.priv.at", sample);

            Assert.Greater(sample.Length, 0);
            Assert.AreEqual(WhoisStatus.Found, response.Status);

            AssertWriter.Write(response);
            Assert.AreEqual(0, response.ParsingErrors);
            Assert.AreEqual("whois.nic.priv.at/at/Found", response.TemplateName);

            Assert.AreEqual("nic.priv.at", response.DomainName.ToString());

            // Registrar Details
            Assert.AreEqual("Network Information Center for priv.at", response.Registrar.Name);
            Assert.AreEqual("*****@*****.**", response.Registrar.AbuseEmail);

            Assert.AreEqual(new DateTime(2002, 10, 13, 00, 00, 00, 000, DateTimeKind.Utc), response.Updated);

            // AdminContact Details
            Assert.AreEqual("HM-PRIVAT", response.AdminContact.RegistryId);
            Assert.AreEqual("Hostmaster priv.at", response.AdminContact.Name);
            Assert.AreEqual("*****@*****.**", response.AdminContact.Email);

            // AdminContact Address
            Assert.AreEqual(6, response.AdminContact.Address.Count);
            Assert.AreEqual("Verein fuer Internet-Benutzer Oesterreichs (VIBE!AT)", response.AdminContact.Address[0]);
            Assert.AreEqual("c/o Gerald Pfeifer", response.AdminContact.Address[1]);
            Assert.AreEqual("Mondweg 64", response.AdminContact.Address[2]);
            Assert.AreEqual("A-1140", response.AdminContact.Address[3]);
            Assert.AreEqual("Wien", response.AdminContact.Address[4]);
            Assert.AreEqual("Austria", response.AdminContact.Address[5]);


            // TechnicalContact Details
            Assert.AreEqual("HM-PRIVAT", response.TechnicalContact.RegistryId);
            Assert.AreEqual("Hostmaster priv.at", response.TechnicalContact.Name);
            Assert.AreEqual("*****@*****.**", response.TechnicalContact.Email);

            // TechnicalContact Address
            Assert.AreEqual(6, response.TechnicalContact.Address.Count);
            Assert.AreEqual("Verein fuer Internet-Benutzer Oesterreichs (VIBE!AT)", response.TechnicalContact.Address[0]);
            Assert.AreEqual("c/o Gerald Pfeifer", response.TechnicalContact.Address[1]);
            Assert.AreEqual("Mondweg 64", response.TechnicalContact.Address[2]);
            Assert.AreEqual("A-1140", response.TechnicalContact.Address[3]);
            Assert.AreEqual("Wien", response.TechnicalContact.Address[4]);
            Assert.AreEqual("Austria", response.TechnicalContact.Address[5]);


            // ZoneContact Details
            Assert.AreEqual("HM-PRIVAT", response.ZoneContact.RegistryId);
            Assert.AreEqual("Hostmaster priv.at", response.ZoneContact.Name);
            Assert.AreEqual("*****@*****.**", response.ZoneContact.Email);

            // ZoneContact Address
            Assert.AreEqual(6, response.ZoneContact.Address.Count);
            Assert.AreEqual("Verein fuer Internet-Benutzer Oesterreichs (VIBE!AT)", response.ZoneContact.Address[0]);
            Assert.AreEqual("c/o Gerald Pfeifer", response.ZoneContact.Address[1]);
            Assert.AreEqual("Mondweg 64", response.ZoneContact.Address[2]);
            Assert.AreEqual("A-1140", response.ZoneContact.Address[3]);
            Assert.AreEqual("Wien", response.ZoneContact.Address[4]);
            Assert.AreEqual("Austria", response.ZoneContact.Address[5]);


            Assert.AreEqual(17, response.FieldsParsed);
        }