Beispiel #1
0
        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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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
        }
Beispiel #4
0
        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);
            }
        }