public async Task Get_DNS_Record_Failure_Is_Failure_Result() { _httpTest.RespondWith(string.Empty, (int)HttpStatusCode.NotFound); GoDaddyClient client = new GoDaddyClient(_httpClient); GoDaddyGetDNSRecordsRequest request = new GoDaddyGetDNSRecordsRequest("ApiKey", "ApiSecret", DNSRecordType.A, "test.com"); Result <GoDaddyGetDNSRecordsResponse> result = await client.GetDNSRecordsAsync(request, new CancellationToken()); Assert.True(result.IsFailed); }
public async Task <Result <DNSRecordCollection> > ReadAsync(string domainName, GoDaddyAuthenticationDetails authentication, CancellationToken cancellation) { GoDaddyGetDNSRecordsRequest request = new GoDaddyGetDNSRecordsRequest(authentication.ApiKey, authentication.ApiSecret, DNSRecordType.A, domainName); Result <GoDaddyGetDNSRecordsResponse> result = await _client.GetDNSRecordsAsync(request, cancellation); if (result.IsSuccess) { IList <DNSRecord> records = _mapper.Map <IList <DNSRecord> >(result.Value.Records); return(Result.Ok(new DNSRecordCollection(records)).Merge(result)); } return(result.ToResult()); }
public async Task Get_DNS_Record_Success_Is_Success_Result_And_Contains_Records() { _httpTest.RespondWith(_domainsResult); GoDaddyClient client = new GoDaddyClient(_httpClient); GoDaddyGetDNSRecordsRequest request = new GoDaddyGetDNSRecordsRequest("ApiKey", "ApiSecret", DNSRecordType.A, "test.com"); Result <GoDaddyGetDNSRecordsResponse> result = await client.GetDNSRecordsAsync(request, new CancellationToken()); Assert.True(result.IsSuccess); List <GoDaddyGetDNSRecordResponse> records = result.Value.Records.ToList(); GoDaddyGetDNSRecordResponse record = records.First(); Assert.Equal("testData", record.Data); Assert.Equal("testName", record.Name); Assert.Equal(0, record.Port); Assert.Equal(0, record.Priority); Assert.Equal("testProtocol", record.Protocol); Assert.Equal("testService", record.Service); Assert.Equal(0, record.Ttl); Assert.Equal("A", record.Type); Assert.Equal(0, record.Weight); }
public async Task <Result <GoDaddyGetDNSRecordsResponse> > GetDNSRecordsAsync(GoDaddyGetDNSRecordsRequest request, CancellationToken cancellation) { string path = string.Format(_getDNSRecordsFormat, request.DomainName, request.DNSRecordType.Value); IFlurlRequest httpRequest = BuildRequest(request.ApiKey, request.ApiSecret, path); IFlurlResponse response = await httpRequest.GetAsync(cancellation); HttpResponseMessage message = response.ResponseMessage; if (message.StatusCode == HttpStatusCode.OK) { string content = await message.Content.ReadAsStringAsync(); IEnumerable <GoDaddyGetDNSRecordResponse> records = JsonConvert.DeserializeObject <List <GoDaddyGetDNSRecordResponse> >(content); string resultMessage = string.Format(_getDNSRecordsSuccessMessageTemplate, records.Count(), request.DomainName); return(Result.Ok(new GoDaddyGetDNSRecordsResponse(records)).WithSuccess(resultMessage)); } return(Result.Fail(string.Format(_getDNSRecordsFailureMessageTemplate, request.DomainName))); }