public void CrudOperations() { var textAutoReply = new TextAutoReply() { Number = "12132041238", Message = "test message", Match = "test match" }; var resourceId = Client.TextAutoRepliesApi.Create(textAutoReply); Assert.NotNull(resourceId.Id); var request = new FindTextAutoRepliesRequest { Number = "12132041238" }; var textAutoReplies = Client.TextAutoRepliesApi.Find(request); Console.WriteLine(textAutoReplies); Assert.True(textAutoReplies.TotalCount > 0); Assert.AreEqual(textAutoReplies.Items.Count, textAutoReplies.TotalCount); var savedTextAutoReply = textAutoReplies.Items[textAutoReplies.Items.Count - 1]; Assert.AreEqual(resourceId.Id, savedTextAutoReply.Id); Assert.AreEqual(textAutoReply.Number, savedTextAutoReply.Number); Assert.AreEqual(textAutoReply.Message, savedTextAutoReply.Message); Assert.AreEqual(textAutoReply.Match, savedTextAutoReply.Match); savedTextAutoReply = Client.TextAutoRepliesApi.Get(resourceId.Id, "number,message"); Console.WriteLine(savedTextAutoReply); Assert.IsNull(savedTextAutoReply.Id); Assert.IsNull(savedTextAutoReply.Keyword); Assert.AreEqual(textAutoReply.Number, savedTextAutoReply.Number); Assert.AreEqual(textAutoReply.Message, savedTextAutoReply.Message); Client.TextAutoRepliesApi.Delete(resourceId.Id); Assert.Throws<ResourceNotFoundException>(() => Client.TextAutoRepliesApi.Get((long)resourceId.Id)); }
public void Find() { var expectedJson = GetJsonPayload("/campaigns/textAutoRepliesApi/response/findTextAutoReplies.json"); var restRequest = MockRestResponse(expectedJson); var request = new FindTextAutoRepliesRequest { Number = "1234567890", Limit = 5, Offset = 0 }; var autoReplies = Client.TextAutoRepliesApi.Find(request); Assert.That(Serializer.Serialize(autoReplies), Is.EqualTo(expectedJson)); Assert.AreEqual(Method.GET, restRequest.Value.Method); var requestBodyParam = restRequest.Value.Parameters.FirstOrDefault(p => p.Type == ParameterType.RequestBody); Assert.IsNull(requestBodyParam); Assert.That(restRequest.Value.Parameters, Has.Some.Matches<Parameter>(p => p.Name.Equals("limit") && p.Value.Equals("5"))); Assert.That(restRequest.Value.Parameters, Has.Some.Matches<Parameter>(p => p.Name.Equals("offset") && p.Value.Equals("0"))); Assert.That(restRequest.Value.Parameters, Has.Some.Matches<Parameter>(p => p.Name.Equals("number") && p.Value.Equals("1234567890"))); }
/// <summary> /// Query for text auto replies using optional number /// </summary> /// <param name="request">request object with filtering options</param> /// <returns>page with TextAutoReply objects</returns> /// <exception cref="BadRequestException"> in case HTTP response code is 400 - Bad request, the request was formatted improperly.</exception> /// <exception cref="UnauthorizedException"> in case HTTP response code is 401 - Unauthorized, API Key missing or invalid.</exception> /// <exception cref="AccessForbiddenException"> in case HTTP response code is 403 - Forbidden, insufficient permissions.</exception> /// <exception cref="ResourceNotFoundException"> in case HTTP response code is 404 - NOT FOUND, the resource requested does not exist.</exception> /// <exception cref="InternalServerErrorException"> in case HTTP response code is 500 - Internal Server Error.</exception> /// <exception cref="CallfireApiException"> in case HTTP response code is something different from codes listed above.</exception> /// <exception cref="CallfireClientException"> in case error has occurred in client.</exception> public Page<TextAutoReply> Find(FindTextAutoRepliesRequest request) { return Client.Get<Page<TextAutoReply>>(TEXT_AUTO_REPLIES_PATH, request); }