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); }
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()); }