public void Api_ApiClientWrapperBuilder_CreateClientWrapperParameters_ReturnsCorrectedParameters(
            ApiContext context, RequestMethod method, object queryObject,
            Dictionary <string, string> expectedHeaders, Dictionary <string, string> expectedQuery)
        {
            var baseUrl            = It.IsAny <string>();
            var endpoint           = It.IsAny <string>();
            var body               = It.IsAny <object>();
            var dateFormat         = It.IsAny <string>();
            var expectedParameters = new RestClientParameters
            {
                BaseUrl            = baseUrl,
                RequestUrl         = endpoint,
                RequestBody        = body,
                RequestFormat      = RequestFormat.Json,
                RequestMethod      = method,
                RequestUrlSegments = null,
                RequestDateFormat  = dateFormat
            };
            var result = ApiClientWrapperBuilder.CreateClientWrapperParameters(context, baseUrl, endpoint, method, body,
                                                                               queryObject, dateFormat);

            AssertExtension.SimplePropertyValuesAreEquals(expectedParameters, result);
            AssertExtension.EnumerableAreEquals(expectedParameters.RequestUrlSegments, result.RequestUrlSegments);
            AssertExtension.EnumerableAreEquals(expectedParameters.RequestQueryParameters, expectedQuery);
            AssertExtension.EnumerableAreEquals(expectedParameters.RequestHeaders, expectedHeaders);
        }
Ejemplo n.º 2
0
        public void GetRestClient_IfUrlIsInvalid_ThrowsException(string baseUrl)
        {
            var wrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(It.IsAny <RestClientCredentials>());
            var restClientParameters = new RestClientParameters {
                BaseUrl = baseUrl
            };

            Assert.Catch <Exception>(() => wrapper.GetRestClient(restClientParameters));
        }
Ejemplo n.º 3
0
        public void GetRestRequest_IfDataFormatDoesNotExist_ThrowsException(
            DataFormat format)
        {
            var restClientParameters = new RestClientParameters {
                RequestDataFormat = format
            };
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            Assert.Catch(() => restClientWrapper.GetRestRequest(restClientParameters));
        }
Ejemplo n.º 4
0
        public void GetRestRequest_IfDataFormatExists_ReturnsRequestWithCorrectRequestFormat(
            RestClientParameters restClientParameters,
            RestSharp.DataFormat expectedFormat)
        {
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.AreEqual(expectedFormat, result.RequestFormat);
        }
        public void Api_RestClientWrapper_GetRestRequest_ReturnsCorrectRequestWithCorrectUrl()
        {
            var restClientParameters = new RestClientParameters {
                RequestUrl = "v1/attributes/standard",
            };
            var restClientWrapper = new RestClientWrapper(new RestClientWrapperCredentials());
            var result            = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.AreEqual(restClientParameters.RequestUrl, result.Resource);
        }
Ejemplo n.º 6
0
        public void GetRestRequest_IfRequestMethodExists_ReturnsRequestWithCorrectMethod(
            RestClientParameters restClientParameters,
            Method expectedMethod)
        {
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.AreEqual(expectedMethod, result.Method);
        }
Ejemplo n.º 7
0
        public void GetRestRequest_IfRequestMethodDoesNotExist_ThrowsException(
            RequestMethod method)
        {
            var restClientParameters = new RestClientParameters {
                RequestMethod = method
            };
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            Assert.Catch(() => restClientWrapper.GetRestRequest(restClientParameters));
        }
Ejemplo n.º 8
0
        public void GetRestRequest_ReturnsRequestWithCorrectUrl(string url, string expectedResource)
        {
            var restClientParameters = new RestClientParameters {
                RequestUrl = url,
            };
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.AreEqual(expectedResource, result.Resource);
        }
Ejemplo n.º 9
0
        public void GetRestClient_IDataFormatDoesNotExist_ThrowsException(DataFormat responseDataFormat)
        {
            var wrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(It.IsAny <RestClientCredentials>());
            var restClientParameters = new RestClientParameters
            {
                BaseUrl            = TestValidUrl,
                ResponseDataFormat = responseDataFormat,
            };

            Assert.Catch(() => wrapper.GetRestClient(restClientParameters));
        }
Ejemplo n.º 10
0
        public void GetRestClient_IfUrlIsValid_ReturnsCorrectlyWithInitializedUrl(string baseUrl)
        {
            var wrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(It.IsAny <RestClientCredentials>());
            var restClientParameters = new RestClientParameters {
                BaseUrl = baseUrl
            };

            var result = wrapper.GetRestClient(restClientParameters);

            Assert.AreEqual(restClientParameters.BaseUrl, result.BaseUrl.OriginalString);
        }
Ejemplo n.º 11
0
        public void GetRestClient_IfAuthenticatorCannotBeCreated_ReturnsCorrectlyWithAuthenticatorAsNull(
            RestClientCredentials credentials)
        {
            var wrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(credentials);
            var restClientParameters = new RestClientParameters {
                BaseUrl = TestValidUrl
            };

            var result = wrapper.GetRestClient(restClientParameters);

            Assert.Null(result.Authenticator);
        }
        public void Api_RestClientWrapper_GetRestRequest_ReturnsCorrectRequestWithCorrectBody(
            RestClientParameters restClientParameters, string expectedBodyType)
        {
            var restClientWrapper = new RestClientWrapper(new RestClientWrapperCredentials());
            var result            = restClientWrapper.GetRestRequest(restClientParameters);

            var body = result.Parameters.Where(x => x.Type == ParameterType.RequestBody);
            var expectedBodyCount = restClientParameters.RequestBody != null ? 1 : 0;

            Assert.AreEqual(expectedBodyCount, body.Count());
            Assert.AreEqual(expectedBodyType, body.FirstOrDefault()?.Name);
        }
Ejemplo n.º 13
0
        public void GetRestRequest_ReturnsRequestWithCorrectBody(
            RestClientParameters restClientParameters,
            string expectedBodyType)
        {
            var expectedBodyCount = restClientParameters.RequestBody != null ? 1 : 0;
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            var body = result.Parameters.Where(x => x.Type == ParameterType.RequestBody);

            Assert.AreEqual(expectedBodyCount, body.Count());
            Assert.AreEqual(expectedBodyType, body.FirstOrDefault()?.ContentType);
        }
        public void Api_RestClientWrapper_GetRestClient_ReturnsCorrectRestClient(
            RestClientWrapperCredentials credentials, RestClientParameters restClientParameters, IAuthenticator expectedAuthenticator)
        {
            var wrapper = new RestClientWrapper(credentials);
            var result  = wrapper.GetRestClient(restClientParameters);

            Assert.AreEqual(restClientParameters.BaseUrl, result.BaseUrl.OriginalString);

            if (expectedAuthenticator == null)
            {
                Assert.AreEqual(expectedAuthenticator, result.Authenticator);
            }
            else
            {
                Assert.AreEqual(expectedAuthenticator.GetType(), result.Authenticator.GetType());
            }
        }
Ejemplo n.º 15
0
        public void GetRestRequest_ReturnsRequestWithCorrectQueryParams(RestClientParameters restClientParameters)
        {
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            var parameters    = result.Parameters.Where(x => x.Type == ParameterType.QueryString);
            var expectedCount = restClientParameters.RequestQueryParameters?.Count ?? 0;

            Assert.AreEqual(expectedCount, parameters.Count());
            if (expectedCount <= 0)
            {
                return;
            }

            foreach (var keyValue in restClientParameters.RequestQueryParameters)
            {
                var requestParameter = parameters.FirstOrDefault(x => x.Name == keyValue.Key);
                Assert.NotNull(requestParameter);
                Assert.AreEqual(keyValue.Value, requestParameter.Value);
            }
        }
Ejemplo n.º 16
0
        public void GetRestClient_IfAuthenticatorCanBeCreated_ReturnsCorrectlyWithAuthenticator(
            RestClientCredentials credentials,
            IAuthenticator expectedAuthenticator,
            string expectedHeader)
        {
            var wrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(credentials);
            var restClientParameters = new RestClientParameters {
                BaseUrl = TestValidUrl
            };
            var request = new RestRequest();

            var result = wrapper.GetRestClient(restClientParameters);

            result.Authenticator?.Authenticate(It.IsAny <IRestClient>(), request);

            Assert.IsInstanceOf(expectedAuthenticator.GetType(), result.Authenticator);
            var authParam = request.Parameters.FirstOrDefault(x =>
                                                              x.Type == ParameterType.HttpHeader && x.Name == "Authorization");

            Assert.NotNull(authParam);
            Assert.AreEqual(expectedHeader, authParam.Value);
        }
        public void Api_RestClientWrapper_GetRestRequest_ReturnsCorrectRequestWithCorrectHeaders(RestClientParameters restClientParameters)
        {
            var restClientWrapper = new RestClientWrapper(new RestClientWrapperCredentials());
            var result            = restClientWrapper.GetRestRequest(restClientParameters);

            var headers = result.Parameters.Where(x => x.Type == ParameterType.HttpHeader);
            var expectedHeadersCount = restClientParameters.RequestHeaders?.Count ?? 0;

            Assert.AreEqual(expectedHeadersCount, headers.Count());
            foreach (var header in headers)
            {
                Assert.IsTrue(restClientParameters.RequestHeaders.Keys.Contains(header.Name));
                Assert.AreEqual(restClientParameters.RequestHeaders[header.Name], header.Value);
            }
        }
        public void Api_RestClientWrapper_GetRestRequest_ReturnsCorrectRequestWithCorrectQueryParams(RestClientParameters restClientParameters)
        {
            var restClientWrapper = new RestClientWrapper(new RestClientWrapperCredentials());
            var result            = restClientWrapper.GetRestRequest(restClientParameters);

            var queryParams = result.Parameters.Where(x => x.Type == ParameterType.QueryString);
            var expectedQueryParamsCount = restClientParameters.RequestQueryParameters?.Count ?? 0;

            Assert.AreEqual(expectedQueryParamsCount, queryParams.Count());
            foreach (var param in queryParams)
            {
                Assert.IsTrue(restClientParameters.RequestQueryParameters.Keys.Contains(param.Name));
                Assert.AreEqual(restClientParameters.RequestQueryParameters[param.Name], param.Value);
            }
        }
        public void Api_RestClientWrapper_GetRestRequest_ReturnsCorrectRequestWithCorrectUrlSegments(RestClientParameters restClientParameters)
        {
            var restClientWrapper = new RestClientWrapper(new RestClientWrapperCredentials());
            var result            = restClientWrapper.GetRestRequest(restClientParameters);

            var urlSegments         = result.Parameters.Where(x => x.Type == ParameterType.UrlSegment);
            var expectedParamsCount = restClientParameters.RequestUrlSegments?.Count ?? 0;

            Assert.AreEqual(expectedParamsCount, urlSegments.Count());
            foreach (var urlSegment in urlSegments)
            {
                Assert.IsTrue(restClientParameters.RequestUrlSegments.Keys.Contains(urlSegment.Name));
                Assert.AreEqual(restClientParameters.RequestUrlSegments[urlSegment.Name], urlSegment.Value);
            }
        }
        public void Api_RestClientWrapper_GetRestRequest_ReturnsCorrectRequestWithCorrectFormat(RestClientParameters restClientParameters,
                                                                                                string expectedFormat)
        {
            var restClientWrapper = new RestClientWrapper(new RestClientWrapperCredentials());
            var result            = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.AreEqual(expectedFormat.ToLower(), result.RequestFormat.ToString().ToLower());
        }
Ejemplo n.º 21
0
        public void GetRestRequest_IfJsonSerializerIsSet_ReturnsRequestWithCustomSerializer(RestClientParameters restClientParameters)
        {
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.AreEqual(RestSharp.DataFormat.Json, result.RequestFormat);
            Assert.AreEqual(restClientParameters.RequestDataSerializer, result.JsonSerializer);
            Assert.Null(result.XmlSerializer);
        }
Ejemplo n.º 22
0
        public void GetRestRequest_IfJsonSerializerIsNotSet_ReturnsRequestWithDefaultSerializer(RestClientParameters restClientParameters)
        {
            var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper();

            var result = restClientWrapper.GetRestRequest(restClientParameters);

            Assert.Null(result.JsonSerializer);
            Assert.Null(result.XmlSerializer);
        }