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); } }
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>(); }
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); }); }
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); }); }
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); }); }
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()); }); }