예제 #1
0
        public void ValidateTokenValidity()
        {
            // ARRANGE
            IInternalDracoonClient c = FactoryClients.InternalDracoonClientMock(true);
            DracoonAccountImpl     a = new DracoonAccountImpl(c);

            Mock.Arrange(() => c.Builder.GetAuthenticatedPing()).Returns(FactoryRestSharp.GetAuthenticatedPingMock()).Occurs(1);
            Mock.Arrange(() => c.Executor.DoSyncApiCall <VoidResponse>(Arg.IsAny <IRestRequest>(), RequestType.GetAuthenticatedPing, 0)).DoNothing().Occurs(1);

            // ACT
            a.ValidateTokenValidity();

            // ASSERT
            Mock.Assert(c.Builder);
            Mock.Assert(c.Executor);
        }
예제 #2
0
        public void DoSyncApiCall_Fail_Retry()
        {
            // ARRANGE
            RestResponse response = FactoryRestSharp.RestResponse;
            IRestRequest request  = FactoryRestSharp.GetAuthenticatedPingMock();

            Mock.Arrange(() => DracoonClient.HttpConfig).Returns(new DracoonHttpConfig());
            Mock.Arrange(() => new RestClient().Execute(request)).IgnoreInstance().Returns(response);
            Mock.Arrange(() => FactoryClients.OAuthMock.RefreshAccessToken()).IgnoreInstance().DoNothing();
            Mock.Arrange(() => FactoryClients.OAuthMock.BuildAuthString()).IgnoreInstance().Returns("AuthTest");
            Mock.Arrange(() => DracoonErrorParser.ParseError(response, RequestType.GetAuthenticatedPing))
            .Throws(new DracoonApiException(DracoonApiCode.AUTH_UNAUTHORIZED));

            IInternalDracoonClient c    = FactoryClients.InternalDracoonClientMock();
            IRequestExecutor       exec = new DracoonRequestExecutor(FactoryClients.OAuthMock, c);

            // ACT - ASSERT
            Assert.Throws <DracoonApiException>(() => exec.DoSyncApiCall <VoidResponse>(request, RequestType.GetAuthenticatedPing));
        }
예제 #3
0
        public void DoSyncApiCall_Success_VoidResponse()
        {
            // ARRANGE
            RestResponse response = FactoryRestSharp.RestResponse;

            response.StatusCode = HttpStatusCode.OK;
            Mock.NonPublic.Arrange <bool>(response, "IsSuccessful").Returns(true);
            IRestRequest request = FactoryRestSharp.GetAuthenticatedPingMock();

            Mock.Arrange(() => DracoonClient.HttpConfig).Returns(new DracoonHttpConfig());
            Mock.Arrange(() => new RestClient().Execute(request)).IgnoreInstance().Returns(response);

            IInternalDracoonClient c    = FactoryClients.InternalDracoonClientMock();
            IRequestExecutor       exec = new DracoonRequestExecutor(FactoryClients.OAuthMock, c);

            // ACT
            exec.DoSyncApiCall <VoidResponse>(request, RequestType.GetServerVersion);

            // ASSERT
            // No exception should be thrown
        }