public async Task ShouldRequestAccessCode()
        {
            //given
            MockOAuth2Module module = new MockOAuth2Module();

            //when
            await module.RequestAccessAndContinue();

            //then
            module.AssertCalled("RequestAuthorizationCode");
        }
        public async Task ShouldRequestAccessCode()
        {
            //given
            MockOAuth2Module module = new MockOAuth2Module();

            //when
            await module.RequestAccessAndContinue();

            //then
            module.AssertCalled("RequestAuthorizationCode");
        }
        public async Task ShouldRequestRenewToken()
        {
            //given
            Session session = new Session()
            {
                accessToken = "dummy",
                accessTokenExpirationDate = DateTime.Now.AddDays(-1),
                refreshTokenExpirationDate = DateTime.Now.AddDays(1),
                refreshToken = "dummy-token"
            };
            MockOAuth2Module module = new MockOAuth2Module(session);

            //when
            await module.RequestAccessAndContinue();

            //then
            module.AssertCalled("RefreshAccessToken");
        }
        public async Task ShouldRequestRenewToken()
        {
            //given
            Session session = new Session()
            {
                accessToken = "dummy",
                accessTokenExpirationDate  = DateTime.Now.AddDays(-1),
                refreshTokenExpirationDate = DateTime.Now.AddDays(1),
                refreshToken = "dummy-token"
            };
            MockOAuth2Module module = new MockOAuth2Module(session);

            //when
            await module.RequestAccessAndContinue();

            //then
            module.AssertCalled("RefreshAccessToken");
        }