public IEnumerable <Uri> FilterLinks(IEnumerable <Uri> links, DomainTransfer transferType, Uri startUri)
        {
            switch (transferType)
            {
            case DomainTransfer.InsideCurrentDomain:
                return(links.Where(x => x.Host.Equals(startUri.Host, StringComparison.OrdinalIgnoreCase)));

            case DomainTransfer.InsideCurrentPath:
                return(links.Where(x => x.OriginalString.Contains(GetUriPath(startUri))));

            default:
                return(links);
            }
        }
Ejemplo n.º 2
0
 public SiteDownloader(ILinkParser linkParser, IFileSaver fileSaver, ISaver saver, IDownloader downloader, ILogger logger, DownloadOptions options)
 {
     _linkParser     = linkParser;
     _fileSaver      = fileSaver;
     _saver          = saver;
     _downloader     = downloader;
     _logger         = logger;
     _startUri       = new Uri(options.StartUri);
     _downloadPath   = options.DownloadPath;
     _referenceDepth = options.ReferenceDepth;
     _extensions     = GetExtensionsFromString(options.ExtensionRestriction);
     _transferType   = options.DomainTransfer;
     _linksMapping   = new Dictionary <string, string>();
 }
Ejemplo n.º 3
0
        public void TransferDomainNoAuthCode(long accountId, string domainName)
        {
            var client = new MockDnsimpleClient(TransferDomainMissingAuthCodeFixture);

            var transfer = new DomainTransfer
            {
                RegistrantId = 2
            };


            Assert.Throws(Is.TypeOf <JsonSerializationException>(), delegate
            {
                client.Registrar.TransferDomain(accountId, domainName,
                                                transfer);
            });
        }
Ejemplo n.º 4
0
        public void TransferDomainEmptyAuthCode(long accountId, string domainName)
        {
            var client = new MockDnsimpleClient(TransferDomainMissingAuthCodeFixture);

            client.StatusCode(HttpStatusCode.BadRequest);

            var transfer = new DomainTransfer
            {
                RegistrantId = 2,
                AuthCode     = ""
            };


            Assert.Throws(Is.TypeOf <DnSimpleValidationException>(), delegate
            {
                client.Registrar.TransferDomain(accountId, domainName,
                                                transfer);
            });
        }
Ejemplo n.º 5
0
        public void TransferDomainErrorInDnsimple(long accountId, string domainName)
        {
            var client = new MockDnsimpleClient(TransferDomainErrorInDnsimpleFixture);

            client.StatusCode(HttpStatusCode.BadRequest);

            var transfer = new DomainTransfer
            {
                RegistrantId = 2,
                AuthCode     = "gimmegoogle"
            };


            Assert.Throws(Is.TypeOf <DnSimpleValidationException>()
                          .And
                          .Message.EqualTo("The domain google.com is already in DNSimple and cannot be added"), delegate
            {
                client.Registrar.TransferDomain(accountId, domainName,
                                                transfer);
            });
        }
Ejemplo n.º 6
0
        public void TransferDomain(long accountId, string domainName, string expectedUrl)
        {
            var client = new MockDnsimpleClient(TransferDomainFixture);

            var transfer = new DomainTransfer
            {
                RegistrantId = 2,
                AuthCode     = "authcode"
            };

            var domain =
                client.Registrar.TransferDomain(accountId, domainName,
                                                transfer).Data;

            Assert.Multiple(() =>
            {
                Assert.AreEqual("transferring", domain.State);

                Assert.AreEqual(expectedUrl, client.RequestSentTo());
            });
        }