public void DoSyncApiCall_Success() { // ARRANGE string version = "4.13.0"; DateTime buildTime = new DateTime(2019, 1, 1, 0, 0, 0); ApiServerVersion expected = new ApiServerVersion { ServerVersion = version, RestApiVersion = version, BuildDate = buildTime }; RestResponse response = FactoryRestSharp.RestResponse; response.Content = JsonConvert.SerializeObject(expected); response.StatusCode = HttpStatusCode.OK; Mock.NonPublic.Arrange <bool>(response, "IsSuccessful").Returns(true); IRestRequest request = FactoryRestSharp.GetServerVersionMock(); Mock.Arrange(() => DracoonClient.HttpConfig).Returns(new DracoonHttpConfig { WebProxy = new WebProxy() }); Mock.Arrange(() => new RestClient().Execute(request)).IgnoreInstance().Returns(response); IInternalDracoonClient c = FactoryClients.InternalDracoonClientMock(); IRequestExecutor exec = new DracoonRequestExecutor(FactoryClients.OAuthMock, c); // ACT ApiServerVersion actual = exec.DoSyncApiCall <ApiServerVersion>(request, RequestType.GetServerVersion); // ASSERT Assert.Equal(expected.BuildDate, actual.BuildDate); Assert.Equal(expected.RestApiVersion, actual.RestApiVersion); Assert.Equal(expected.ServerVersion, actual.ServerVersion); }
public void DoSyncApiCall_Fail() { // ARRANGE RestResponse response = FactoryRestSharp.RestResponse; IRestRequest request = FactoryRestSharp.GetServerVersionMock(); Mock.Arrange(() => DracoonClient.HttpConfig).Returns(new DracoonHttpConfig()); Mock.Arrange(() => new RestClient().Execute(request)).IgnoreInstance().Returns(response); Mock.Arrange(() => DracoonErrorParser.ParseError(response, RequestType.GetServerVersion)).Throws(new DracoonApiException()); IInternalDracoonClient c = FactoryClients.InternalDracoonClientMock(); IRequestExecutor exec = new DracoonRequestExecutor(FactoryClients.OAuthMock, c); // ACT - ASSERT Assert.Throws <DracoonApiException>(() => exec.DoSyncApiCall <ApiServerVersion>(request, RequestType.GetServerVersion)); }
public void CheckApiServerVersion_FeatureVersionSuccess() { // ARRANGE IInternalDracoonClient c = FactoryClients.InternalDracoonClientMock(); IRequestExecutor exec = new DracoonRequestExecutor(c.OAuth, c); Mock.Arrange(() => c.Builder.GetServerVersion()).Returns(FactoryRestSharp.GetServerVersionMock()); Mock.Arrange(() => exec.DoSyncApiCall <ApiServerVersion>(Arg.IsAny <IRestRequest>(), RequestType.GetServerVersion, 0)).Returns(new ApiServerVersion { ServerVersion = "4.13.0", RestApiVersion = "4.13.0", BuildDate = DateTime.Now }); // ACT exec.CheckApiServerVersion("4.13.0"); // ASSERT // No exception should be thrown }
public void CheckApiServerVersion_FeatureVersionFail() { // ARRANGE IInternalDracoonClient c = FactoryClients.InternalDracoonClientMock(); IRequestExecutor exec = new DracoonRequestExecutor(c.OAuth, c); Mock.Arrange(() => c.Builder.GetServerVersion()).Returns(FactoryRestSharp.GetServerVersionMock()).Occurs(1); Mock.Arrange(() => exec.DoSyncApiCall <ApiServerVersion>(Arg.IsAny <IRestRequest>(), RequestType.GetServerVersion, 0)).Returns(new ApiServerVersion { ServerVersion = "4.12.0", RestApiVersion = "4.12.0", BuildDate = DateTime.Now }).Occurs(1); try { // ACT exec.CheckApiServerVersion("4.13.0"); } catch (DracoonApiException e) { // ASSERT Assert.Equal(0, e.ErrorCode.Code); Mock.Assert(exec); Mock.Assert(c.Builder); } }