예제 #1
0
        public void SaveDatabase()
        {
            var passwordDatabaseMock         = new Mock <IPasswordDatabase>();
            var passwordChangerExFactoryMock = new Mock <IPasswordChangerExFactory>();
            var passwordChangerExMock        = new Mock <IPasswordChangerEx>();

            passwordChangerExFactoryMock.Setup(x => x.Create(It.IsAny <HostType>())).Returns(passwordChangerExMock.Object);
            var hostTypeMapperMock = new Mock <IHostTypeMapper>();

            hostTypeMapperMock.Setup(x => x.Get(It.IsAny <IHostPwEntry>())).Returns(HostType.Unknown);

            var now = DateTime.Now;

            var clockMock = new Mock <IClock>();

            clockMock.Setup(x => x.Now).Returns(now);

            var passwordChangerService = new PasswordChangerService(
                passwordDatabaseMock.Object,
                passwordChangerExFactoryMock.Object,
                hostTypeMapperMock.Object,
                clockMock.Object
                );

            passwordChangerService.SaveDatabase();

            passwordChangerExFactoryMock.Verify(v => v.Create(It.IsAny <HostType>()), Times.Never);
            hostTypeMapperMock.Verify(v => v.Get(It.IsAny <IHostPwEntry>()), Times.Never);
            passwordChangerExFactoryMock.Verify(v => v.Create(It.IsAny <HostType>()), Times.Never);
            passwordDatabaseMock.Verify(v => v.Save(), Times.Once);
            clockMock.Verify(v => v.Now, Times.Never);
        }
예제 #2
0
        public void ChangePassword()
        {
            var passwordDatabaseMock         = new Mock <IPasswordDatabase>();
            var passwordChangerExFactoryMock = new Mock <IPasswordChangerExFactory>();
            var passwordChangerExMock        = new Mock <IPasswordChangerEx>();

            passwordChangerExFactoryMock.Setup(x => x.Create(It.IsAny <HostType>())).Returns(passwordChangerExMock.Object);
            var hostTypeMapperMock = new Mock <IHostTypeMapper>();

            hostTypeMapperMock.Setup(x => x.Get(It.IsAny <IHostPwEntry>())).Returns(HostType.Unknown);

            var passwordChangerService = new PasswordChangerService(
                passwordDatabaseMock.Object,
                passwordChangerExFactoryMock.Object,
                hostTypeMapperMock.Object
                );

            var hostPwEntry = new InMemoryHostPwEntry()
            {
                IPAddress = "localhost",
                Username  = "******",
                Password  = "******"
            };

            passwordChangerService.ChangePassword(hostPwEntry, "newPassword");

            Assert.AreEqual("newPassword", hostPwEntry.Password);
            passwordChangerExFactoryMock.Verify(v => v.Create(HostType.Unknown), Times.Once);
            hostTypeMapperMock.Verify(v => v.Get(hostPwEntry), Times.Once);
            passwordChangerExMock.Verify(v => v.ChangePassword(hostPwEntry, "newPassword"), Times.Once);
            passwordDatabaseMock.Verify(v => v.Save(), Times.Never);
        }