public async void CanProperlyFetchAResourceAsync() { var client = MockClient.Build(SuccessResponse(System.Net.HttpStatusCode.OK)); MyResource resource = await client.GetResourceAsync("benjamin", "param1", new DateTime(2020, 01, 01)); Assert.Equal("benjamin", resource.MyString); }
public void WillValidatePathParams() { var client = MockClient.Build(SuccessResponse(System.Net.HttpStatusCode.OK)); MyResource resource = client.GetResource("benjamin", "param1", new DateTime(2020, 01, 01)); Assert.Throws <Recurly.RecurlyError>(() => client.GetResource("", "param1", new DateTime(2020, 01, 01))); }
public void Serialize() { // make sure it can serialize all primitive types and convert b/w snake and camel case var resource = new MyResource() { MyString = "benjamin", MyFloat = 3.14f, MyInt = 3, MySubResource = new MySubResource() { MyString = "subresource" }, MyArrayString = new List <string>() { "a", "b" }, MyArraySubResource = new List <MySubResource>() { new MySubResource() { MyString = "subresource1" }, new MySubResource() { MyString = "subresource2" }, } }; var jsonStr = _jsonSerializer.Serialize(resource); var json = "{\"my_string\":\"benjamin\",\"my_float\":3.14,\"my_int\":3,\"my_sub_resource\":{\"my_string\":\"subresource\"},\"my_array_string\":[\"a\",\"b\"],\"my_array_sub_resource\":[{\"my_string\":\"subresource1\"},{\"my_string\":\"subresource2\"}]}"; Assert.Equal(jsonStr, json); }
public async void CanProperlyFetchAResourceAsync() { var client = this.GetResourceSuccessClient(); MyResource resource = await client.GetResourceAsync("benjamin", "param1", new DateTime(2020, 01, 01)); Assert.Equal("benjamin", resource.MyString); }
private MyClient CreateResourceSuccessClient() { var data = new MyResource() { MyString = "benjamin" }; var response = new Mock <IRestResponse <MyResource> >(); response.Setup(_ => _.StatusCode).Returns(System.Net.HttpStatusCode.Created); response.Setup(_ => _.Content).Returns("{\"my_string\": \"benjamin\"}"); response.Setup(_ => _.Headers).Returns(new List <Parameter> { }); response.Setup(_ => _.Data).Returns(data); var mockIRestClient = new Mock <IRestClient>(); mockIRestClient .Setup(x => x.Execute <MyResource>(It.IsAny <IRestRequest>())) .Returns(response.Object); return(new MyClient(apiKey) { RestClient = mockIRestClient.Object }); }
public void CanProperlyCreateAResource() { var client = MockClient.Build(SuccessResponse(System.Net.HttpStatusCode.Created)); var request = new MyResourceCreate() { MyString = "benjamin" }; MyResource resource = client.CreateResource(request); Assert.Equal("benjamin", resource.MyString); }
public void CanProperlyCreateAResource() { var client = this.CreateResourceSuccessClient(); var request = new MyResourceCreate() { MyString = "benjamin" }; MyResource resource = client.CreateResource(request); Assert.Equal("benjamin", resource.MyString); }
public void WillAddQueryStringParameters() { var options = new RequestOptions(); options.AddHeader("Accept-Language", "en-US"); var date = new DateTime(2020, 01, 01); var paramsMatcher = MockClient.QueryParameterMatcher(new Dictionary <string, object> { { "param_1", "param1" }, { "param_2", Recurly.Utils.ISO8601(date) }, }); var client = MockClient.Build(paramsMatcher, SuccessResponse(System.Net.HttpStatusCode.OK)); MyResource resource = client.GetResource("benjamin", "param1", date, options); Assert.Equal("benjamin", resource.MyString); }
private Mock <IRestResponse <MyResource> > SuccessResponse(System.Net.HttpStatusCode status) { var data = new MyResource() { MyString = "benjamin" }; var response = new Mock <IRestResponse <MyResource> >(); response.Setup(_ => _.StatusCode).Returns(status); response.Setup(_ => _.Content).Returns("{\"my_string\": \"benjamin\"}"); response.Setup(_ => _.Headers).Returns(new List <Parameter> { }); response.Setup(_ => _.Data).Returns(data); return(response); }