public async Task <Result> CreateAsync(string domainName, DNSRecordCollection records, GoDaddyAuthenticationDetails authentication, CancellationToken cancellation) { if (records.Any()) { IEnumerable <GoDaddyCreateDNSRecordRequest> recordRequests = _mapper.Map <IEnumerable <GoDaddyCreateDNSRecordRequest> >(records); GoDaddyCreateDNSRecordsRequest request = new GoDaddyCreateDNSRecordsRequest(authentication.ApiKey, authentication.ApiSecret, recordRequests, domainName); return(await _client.CreateDNSRecordsAsync(request, cancellation)); } return(Result.Ok()); }
public async Task Create_DNS_Record_Failure_Is_Failure_Result() { _httpTest.RespondWith(string.Empty, (int)HttpStatusCode.InternalServerError); GoDaddyClient client = new GoDaddyClient(_httpClient); IEnumerable <GoDaddyCreateDNSRecordRequest> records = new List <GoDaddyCreateDNSRecordRequest>() { new GoDaddyCreateDNSRecordRequest() }; GoDaddyCreateDNSRecordsRequest request = new GoDaddyCreateDNSRecordsRequest("AnApiKey", "AnApiSecret", records, "test.com"); Result result = await client.CreateDNSRecordsAsync(request, new CancellationToken()); Assert.True(result.IsFailed); }
public async Task <Result> CreateDNSRecordsAsync(GoDaddyCreateDNSRecordsRequest request, CancellationToken cancellation) { string path = string.Format(_createDNSRecordFormat, request.DomainName); IFlurlRequest httpRequest = BuildRequest(request.ApiKey, request.ApiSecret, path); IFlurlResponse response = await httpRequest.PatchJsonAsync(request.Records, cancellation); HttpResponseMessage message = response.ResponseMessage; if (message.StatusCode == HttpStatusCode.OK) { return(Result.Ok().WithSuccess(string.Format(_createDNSRecordSuccessMessageTemplate, request.Records.Count(), request.DomainName))); } return(Result.Fail(string.Format(_createDNSRecordFailureMessageTemplate, request.DomainName))); }