public void Should_GetAllSchools_returns_exception_when_api_returns_not_ok_response() { // Arrange const string errorMessage = "not found error"; var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(x => x.BaseUrl).Returns(new Uri(_connectionInformation.ApiBaseUrl)); mockRestClient.Setup(x => x.Execute(It.IsAny <RestRequest>())).Returns(new RestResponse { StatusCode = HttpStatusCode.NotFound, ErrorMessage = errorMessage }); var mockTokenRetriever = new Mock <ITokenRetriever>(); mockTokenRetriever.Setup(x => x.ObtainNewBearerToken()).Returns("Token"); var mockOdsRestClient = new OdsRestClient(_connectionInformation, mockRestClient.Object, mockTokenRetriever.Object); _facade = new OdsApiFacade(_mapper, mockOdsRestClient); //Act var ex = Assert.Throws <OdsApiConnectionException>(() => _facade.GetAllSchools()); // Assert Assert.AreEqual(errorMessage, ex.Message); }
public void Should_EditSchool_returns_success_result_when_api_returns_expected_response() { // Arrange var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(x => x.BaseUrl).Returns(new Uri(_connectionInformation.ApiBaseUrl)); mockRestClient.Setup(x => x.Execute(It.IsAny <RestRequest>())).Returns(new RestResponse { StatusCode = HttpStatusCode.NoContent, ResponseStatus = ResponseStatus.Completed, }); var mockTokenRetriever = new Mock <ITokenRetriever>(); mockTokenRetriever.Setup(x => x.ObtainNewBearerToken()).Returns("Token"); var mockOdsRestClient = new OdsRestClient(_connectionInformation, mockRestClient.Object, mockTokenRetriever.Object); _facade = new OdsApiFacade(_mapper, mockOdsRestClient); // Act var result = _facade.EditSchool(_school); // Assert result.Success.ShouldBe(true); }
public void Should_GetAllDescriptors_returns_expected_descriptors_list() { // Arrange const string content = "{\r\n \"swagger\": \"2.0\",\r\n \"basePath\": \"/v3.1.1/api/data/v3\",\r\n \"consumes\": [\r\n \"application/json\"\r\n ],\r\n \"definitions\": {\r\n \"edFi_test1Descriptor\": {\r\n },\r\n \"edFi_test2Descriptor\": {\r\n }\r\n }, \"paths\": {\r\n \"/ed-fi/testCategory1Descriptors\": {\r\n },\r\n \"/ed-fi/testCategory1Descriptors/{id}\": {\r\n },\r\n \"/ed-fi/testCategory1Descriptors/deletes\": {\r\n },\r\n \"/ed-fi/testCategory2Descriptors\": {\r\n },\r\n \"/ed-fi/testCategory2Descriptors/{id}\": {\r\n },\r\n \"/ed-fi/testCategory2Descriptors/deletes\": {\r\n }\r\n }\r\n}"; var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(x => x.BaseUrl).Returns(new Uri(_connectionInformation.ApiBaseUrl)); mockRestClient.Setup(x => x.Execute(It.IsAny <RestRequest>())).Returns(new RestResponse { ResponseStatus = ResponseStatus.Completed, StatusCode = HttpStatusCode.OK, Content = content }); var mockTokenRetriever = new Mock <ITokenRetriever>(); mockTokenRetriever.Setup(x => x.ObtainNewBearerToken()).Returns("Token"); var mockOdsRestClient = new OdsRestClient(_connectionInformation, mockRestClient.Object, mockTokenRetriever.Object); _facade = new OdsApiFacade(_mapper, mockOdsRestClient); // Act var result = _facade.GetAllDescriptors(); // Assert result.ShouldNotBeNull(); result.Count.ShouldBe(2); result[0].ShouldBe("/ed-fi/testCategory1Descriptors"); result[1].ShouldBe("/ed-fi/testCategory2Descriptors"); }
public void Should_EditSchool_returns_not_success_result_when_api_not_returns_not_expected_response() { // Arrange const string errorMsg = "exception"; var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(x => x.BaseUrl).Returns(new Uri(_connectionInformation.ApiBaseUrl)); mockRestClient.Setup(x => x.Execute(It.IsAny <RestRequest>())).Returns(new RestResponse { StatusCode = HttpStatusCode.Conflict, ErrorMessage = errorMsg }); var mockTokenRetriever = new Mock <ITokenRetriever>(); mockTokenRetriever.Setup(x => x.ObtainNewBearerToken()).Returns("Token"); var mockOdsRestClient = new OdsRestClient(_connectionInformation, mockRestClient.Object, mockTokenRetriever.Object); _facade = new OdsApiFacade(_mapper, mockOdsRestClient); // Act var result = _facade.EditSchool(_school); // Assert result.Success.ShouldBe(false); result.ErrorMessage.ShouldBe(errorMsg); }
public void Should_DeleteSchool_returns_not_success_result_when_api_throws_exception() { // Arrange const string errorMsg = "exception"; var mockRestClient = new Mock <IRestClient>(); mockRestClient.Setup(x => x.BaseUrl).Returns(new Uri(_connectionInformation.ApiBaseUrl)); mockRestClient.Setup(x => x.Execute(It.IsAny <RestRequest>())).Throws(new Exception(errorMsg)); var mockTokenRetriever = new Mock <ITokenRetriever>(); mockTokenRetriever.Setup(x => x.ObtainNewBearerToken()).Returns("Token"); var mockOdsRestClient = new OdsRestClient(_connectionInformation, mockRestClient.Object, mockTokenRetriever.Object); _facade = new OdsApiFacade(_mapper, mockOdsRestClient); // Act var result = _facade.DeleteSchool(SchoolId); // Assert result.Success.ShouldBe(false); result.ErrorMessage.ShouldContain(errorMsg); }