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); }
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_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_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 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_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 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 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_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 Execute_IfResponseNotWithServerError_TriesToExecuteOnce(RestResponse response) { var request = It.IsAny <IRestRequest>(); var clientMock = new Mock <RestClient>(); clientMock.Setup(x => x.Execute(request)).Returns(response); var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(100); restClientWrapper.Execute(clientMock.Object, request); clientMock.Verify(mock => mock.Execute(request), Times.Once); }
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 GenericExecute_IfMaxAttemptsCountIsNotSet_IfExceptionInsteadOfResponse_TriesToExecuteAtLeastTwiceAndThrowsException() { var request = It.IsAny <IRestRequest>(); var clientMock = new Mock <RestClient>(); clientMock.Setup(x => x.Execute <object>(request)).Callback(() => throw new Exception()); var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(); Assert.Catch(() => restClientWrapper.Execute <object>(clientMock.Object, request)); clientMock.Verify(mock => mock.Execute <object>(request), Times.AtLeast(2)); }
public void Execute_IfMaxAttemptsCountIsSet_IfResponseFailedWithServerError_TriesToExecuteMaxCountTimes(RestResponse response, int maxCount, int expectedCount) { var request = It.IsAny <IRestRequest>(); var clientMock = new Mock <RestClient>(); clientMock.Setup(x => x.Execute(request)).Returns(response); var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(maxCount); restClientWrapper.Execute(clientMock.Object, request); clientMock.Verify(mock => mock.Execute(request), Times.Exactly(expectedCount)); }
public void Execute_IfMaxAttemptsCountIsNotSet_IfResponseFailedWithServerError_TriesToExecuteAtLeastTwice(RestResponse response) { var request = It.IsAny <IRestRequest>(); var clientMock = new Mock <RestClient>(); clientMock.Setup(x => x.Execute(request)).Returns(response); var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(); restClientWrapper.Execute(clientMock.Object, request); clientMock.Verify(mock => mock.Execute(request), Times.AtLeast(2)); }
public void GenericExecute_IfMaxAttemptsCountIsSet_IfExceptionInsteadOfResponse_TriesToExecuteMaxCountTimesAndThrowsException( int maxCount, int expectedCount) { var request = It.IsAny <IRestRequest>(); var clientMock = new Mock <RestClient>(); clientMock.Setup(x => x.Execute <object>(request)).Callback(() => throw new Exception()); var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(maxCount); Assert.Catch(() => restClientWrapper.Execute <object>(clientMock.Object, request)); clientMock.Verify(mock => mock.Execute <object>(request), Times.Exactly(expectedCount)); }
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 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 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_IfParametersIsNull_ThrowsException() { var restClientWrapper = new SDK.Utilities.RestClientWrapper.RestClientWrapper(); Assert.Catch(() => restClientWrapper.GetRestClient(null)); }