public async void TestCreateTopicAsync(CreateTopicRequestModel requestModel) { var responseModel = await service.CreateTopicAsync(requestModel); Assert.Equal(HttpStatusCode.OK, responseModel.HttpResponse.StatusCode); Assert.NotNull(responseModel.Data); var topicCode = responseModel.Data.ToParam; var expectedTopicUri = $"/api/account/{ACCOUNT_CODE}/topics/{topicCode}.xml"; Assert.Equal(expectedTopicUri, responseModel.Data.TopicUri); }
// Topic public abstract Task <GovDeliveryResponseModel <CreateTopicResponseModel> > CreateTopicAsync(CreateTopicRequestModel requestModel);
// Topic public override async Task <GovDeliveryResponseModel <CreateTopicResponseModel> > CreateTopicAsync(CreateTopicRequestModel requestModel) { var topicCode = !string.IsNullOrEmpty(requestModel.Code) ? requestModel.Code : "XXXXX"; var responseModel = new CreateTopicResponseModel { ToParam = topicCode, TopicUri = $"/api/account/{accountCode}/topics/{topicCode}.xml" }; var httpResponse = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = SerializationUtils.ModelToStringContent(responseModel) }; return(new GovDeliveryResponseModel <CreateTopicResponseModel> { HttpResponse = httpResponse, Data = await SerializationUtils.ResponseContentToModel <CreateTopicResponseModel>(httpResponse.Content) }); }
// Topics public override async Task <GovDeliveryResponseModel <CreateTopicResponseModel> > CreateTopicAsync(CreateTopicRequestModel model) { var res = await client.PostAsync("topics.xml", SerializationUtils.ModelToStringContent(model)); InterceptHttpError(res); return(new GovDeliveryResponseModel <CreateTopicResponseModel> { HttpResponse = res, Data = await SerializationUtils.ResponseContentToModel <CreateTopicResponseModel>(res.Content) }); }