public async Task RestoreSession_CreatesNewSession_IfCacheInvalidated()
        {
            var mattermost          = new Mock <IClient>();
            var session1            = new Mock <ISession>();
            var session2            = new Mock <ISession>();
            var settingsLoadService = new Mock <ISettingsLoadService>();
            var settings            = new AddInSettings("myUrl", "testTeamId", "Donald Duck", "channels", MattermostVersion.ApiVersionOne);

            settingsLoadService.Setup(x => x.Load()).Returns(settings);
            var clientFactory = SetupClientFactoryMock(mattermost);

            mattermost.SetupSequence(
                x => x.LoginByUsername(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>()))
            .Returns(session1.Object)
            .Returns(session2.Object);
            var classUnderTest = new SingleSignOnSessionRepository(clientFactory.Object,
                                                                   settingsLoadService.Object,
                                                                   Mock.Of <IPasswordProvider>());

            var result1 = await classUnderTest.RestoreSession();

            classUnderTest.Invalidate();
            var result2 = await classUnderTest.RestoreSession();

            result1.Should().Be(session1.Object);
            result2.Should().Be(session2.Object);
        }
示例#2
0
        public void Invalidate_EnablesCertificationValidator()
        {
            var certValidator = new Mock <IServerCertificateValidator>();
            var cut           = new SingleSignOnSessionRepository(new Mock <IClientFactory>().Object,
                                                                  new Mock <ISettingsLoadService>().Object, new Mock <IPasswordProvider>().Object,
                                                                  new Mock <ITrustInvalidSslQuestion>().Object, certValidator.Object);

            cut.Invalidate();

            certValidator.Verify(x => x.EnableValidation());
        }