Ejemplo n.º 1
0
        public void GetDomainPremiumPriceFailure(long accountId,
                                                 string domainName, PremiumPriceCheckAction action,
                                                 string expectedUrl)
        {
            var client =
                new MockDnsimpleClient(GetDomainPremiumPriceFailureFixture);

            client.StatusCode(HttpStatusCode.BadRequest);

            Assert.Multiple(() =>
            {
                Assert.Throws(
                    Is.TypeOf <DnsimpleValidationException>().And.Message
                    .EqualTo(
                        "`example.com` is not a premium domain for registration"),
                    delegate
                {
                    client.Registrar
                    .GetDomainPremiumPrice(accountId, domainName,
                                           action);
                });

                Assert.AreEqual(expectedUrl, client.RequestSentTo());
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Get the premium price for a domain.
        /// </summary>
        /// <param name="accountId">The account Id</param>
        /// <param name="domainName">The domain name</param>
        /// <param name="action">Optional action between "registration",
        /// "renewal", and "transfer". If omitted, it defaults to
        /// "registration".</param>
        /// <returns>The domain premium price response</returns>
        /// <remarks>Please note that a premium price can be different for
        /// registration, renewal, transfer. By default this endpoint returns
        /// the premium price for registration. If you need to check a
        /// different price, you should specify it with the action
        /// param.</remarks>
        /// <see>https://developer.dnsimple.com/v2/registrar/#getDomainPremiumPrice</see>
        public DomainPremiumPriceResponse GetDomainPremiumPrice(long accountId,
                                                                string domainName, PremiumPriceCheckAction action)
        {
            var requestBuilder = Client
                                 .Http.RequestBuilder(
                DomainPremiumPricePath(accountId, domainName));

            requestBuilder.AddParameter(
                new KeyValuePair <string, string>("action",
                                                  action.ToString().ToLower()));

            return(new DomainPremiumPriceResponse(
                       Client.Http.Execute(requestBuilder.Request)));
        }
Ejemplo n.º 3
0
        public void GetDomainPremiumPrice(long accountId, string domainName, PremiumPriceCheckAction action, string expectedUrl)
        {
            var client       = new MockDnsimpleClient(GetDomainPremiumPriceFixture);
            var premiumPrice = client.Registrar
                               .GetDomainPremiumPrice(accountId, domainName, action).Data;

            Assert.Multiple(() =>
            {
                Assert.AreEqual("109.00", premiumPrice.PremiumPrice);
                Assert.AreEqual(action.ToString().ToLower(), premiumPrice.Action);

                Assert.AreEqual(expectedUrl, client.RequestSentTo());
            });
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Retrieves the premium price for a domain.
        /// </summary>
        /// <param name="accountId">The account ID</param>
        /// <param name="domainName">The domain name</param>
        /// <param name="action">Optional action between "registration",
        /// "renewal", and "transfer". If omitted, it defaults to
        /// "registration".</param>
        /// <returns>The domain premium price response</returns>
        /// <see>https://developer.dnsimple.com/v2/registrar/#getDomainPremiumPrice</see>
        public SimpleResponse <DomainPremiumPrice> GetDomainPremiumPrice(long accountId, string domainName, PremiumPriceCheckAction action)
        {
            var builder = BuildRequestForPath(DomainPremiumPricePath(accountId, domainName));

            builder.AddParameter(new KeyValuePair <string, string>("action", action.ToString().ToLower()));

            return(new SimpleResponse <DomainPremiumPrice>(Execute(builder.Request)));
        }