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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 7
0
        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);
        }