Esempio n. 1
0
        public void InstallArchivialCloudBackupCommand_Throws_IfProductIsAlreadyInstalled()
        {
            // setup

            var mockedSetup = new Mock <ISetup>();

            mockedSetup.Setup(x => x.IsRunningElevated()).Returns(true);
            mockedSetup.Setup(x => x.SqlServerPrerequisiteIsAvailable()).Returns(true);
            mockedSetup.Setup(x => x.GetInstalledVersionAsync()).ReturnsAsync(new Version(1, 0, 0, 0));

            var mockedCoreSettings = new Mock <ICoreSettings>();

            var depedencies = new CmdletDependencies()
            {
                Setup        = mockedSetup.Object,
                CoreSettings = mockedCoreSettings.Object
            };

            var command = new InstallArchivialCloudBackupCommand(depedencies);

            command.Force = true;

            // execute

            var result = command.Invoke().GetEnumerator().MoveNext();
        }
Esempio n. 2
0
        public void InstallArchivialCloudBackupCommand_Throws_IfUserIsNotElevated()
        {
            // setup

            var mockedSetup = new Mock <ISetup>();

            mockedSetup.Setup(x => x.IsRunningElevated()).Returns(false);
            mockedSetup.Setup(x => x.SqlServerPrerequisiteIsAvailable()).Returns(true);

            var mockedCoreSettings = new Mock <ICoreSettings>();

            var depedencies = new CmdletDependencies()
            {
                Setup        = mockedSetup.Object,
                CoreSettings = mockedCoreSettings.Object
            };

            var command = new InstallArchivialCloudBackupCommand(depedencies);

            // execute

            var result = command.Invoke().GetEnumerator().MoveNext();
        }
Esempio n. 3
0
        public void InstallArchivialCloudBackupCommand_RunsCompleteInstall()
        {
            // setup

            var mockedSetup = new Mock <ISetup>();

            mockedSetup.Setup(x => x.IsRunningElevated()).Returns(true);
            mockedSetup.Setup(x => x.SqlServerPrerequisiteIsAvailable()).Returns(true);

            var mockedCoreSettings = new Mock <ICoreSettings>();

            var depedencies = new CmdletDependencies()
            {
                Setup        = mockedSetup.Object,
                CoreSettings = mockedCoreSettings.Object
            };

            var command = new InstallArchivialCloudBackupCommand(depedencies);

            command.Force = true;

            // execute

            var result = command.Invoke().GetEnumerator().MoveNext();

            // verify

            var defaultWindowsInstallFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Archivial Cloud Backup");

            mockedSetup.Verify(x => x.CreateCoreSettings(It.Is <string>(z => z == defaultWindowsInstallFolder)), Times.Once);
            mockedSetup.Verify(x => x.CreateEventLogSource(), Times.Once);
            mockedSetup.Verify(x => x.CreateInstallationDirectories(), Times.Once);
            mockedSetup.Verify(x => x.CopyProgramFiles(), Times.Once);
            mockedSetup.Verify(x => x.CreateClientService(), Times.Once);
            mockedSetup.Verify(x => x.StartClientService(), Times.Once);
            mockedSetup.Verify(x => x.WaitForFirstTimeSetup(), Times.Once);
        }