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); }
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)); }
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)); }
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); }
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); }
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)); }
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); }
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)); }
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); }
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); }
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()); } }
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); } }
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()); }
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); }
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); }