Exemplo n.º 1
0
        public void ShouldRetrieveCurrentVersionFromDatabaseForComparison()
        {
            // Arrange
            var command = CreateCommand();

            var version1 = CreateVersionWithTask("1.1", "Task 1");

            archive.Setup(a => a.Versions).Returns(new[] { version1.Object });

            var versionObject = version1.Object.Version;

            var expectedVersion = new ClassicVersion("1.1");

            versionProvider.Setup(p => p.GetVersion(this.session.Object, versionObject)).Returns(expectedVersion);

            // Act
            command.Execute(new string[] { });

            // Assert
            VersionBase actualVersion = null;

            versionProvider.Verify(
                v =>
                v.HasExecutedScript(It.Is <VersionBase>(vo => CatchVersion(vo, out actualVersion)), It.IsAny <VersionBase>(),
                                    It.IsAny <IDatabaseTask>()));

            Assert.Same(expectedVersion, actualVersion);
        }
Exemplo n.º 2
0
        public void ShouldOnlyOutputInformationForSpecifiedVersion()
        {
            // Arrange
            var command = CreateCommand();

            var version1 = CreateVersionWithTask("1.1", "Task 1");
            var version2 = CreateVersionWithTask("1.2", "Task 1");

            archive.Setup(a => a.Versions).Returns(new[] { version1.Object, version2.Object });

            var versionObject = version1.Object.Version;

            var expectedVersion = new ClassicVersion("1.1");

            versionProvider.Setup(p => p.GetVersion(this.session.Object, versionObject)).Returns(expectedVersion);
            versionProvider.Setup(p => p.CreateVersion(versionObject.VersionText)).Returns(versionObject);

            // Act
            command.Execute(new [] { "-v", "1.1" });

            // Assert
            string expectedText = "Version 1.1 missing:" + Environment.NewLine +
                                  "  Task 1";

            Assert.Equal(expectedText, this.messageService.Contents.TrimEnd());
        }
Exemplo n.º 3
0
        public void ShouldBeAbleToSpecifyASpecificVersion()
        {
            // Arrange
            var command = this.CreateCommand();

            var outputVersion = new ClassicVersion("1.24")
            {
                CreatedOn = new DateTime(2011, 10, 14, 9, 14, 29), UpdatedOn = new DateTime(2011, 10, 14, 10, 00, 23)
            };

            var versions = new[]
            {
                new ClassicVersion("1.23")
                {
                    CreatedOn = new DateTime(2011, 10, 13, 11, 12, 53), UpdatedOn = new DateTime(2011, 10, 13, 11, 12, 53)
                },
                outputVersion,
                new ClassicVersion("1.24.1")
                {
                    CreatedOn = new DateTime(2011, 10, 16, 21, 59, 53), UpdatedOn = new DateTime(2011, 10, 16, 21, 59, 53)
                }
            };

            versionProvider.Setup(v => v.GetAllVersions(It.IsAny <ISession>())).Returns(versions);
            versionProvider.Setup(v => v.GetComparer()).Returns(new ClassicVersionProvider.ClassicVersionComparer());
            versionProvider.Setup(v => v.CreateVersion("1.24")).Returns(outputVersion);

            // Act
            command.Execute(new[] { "history", "-v", "1.24" });

            // Assert
            Assert.Equal(CreateExpectedOutput(new[] { outputVersion }), messageService.Contents);
        }
Exemplo n.º 4
0
        private static Mock <IDatabaseVersion> CreateVersionWithTask(string versionString, string fileName)
        {
            var classicVersion  = new ClassicVersion(versionString);
            var databaseVersion = new Mock <IDatabaseVersion>();

            databaseVersion.Setup(v => v.Version).Returns(classicVersion);

            var task = new Mock <IDatabaseTask>();

            task.Setup(t => t.FileName).Returns(fileName);
            databaseVersion.Setup(v => v.Tasks).Returns(new[] { task.Object });

            return(databaseVersion);
        }
Exemplo n.º 5
0
        public void ShouldIndicateIfSpecifiedVersionDoesNotExist()
        {
            // Arrange
            var command = CreateCommand();

            var version1 = CreateVersionWithTask("1.1", "Task 1");

            archive.Setup(a => a.Versions).Returns(new[] { version1.Object });

            var versionObject = new ClassicVersion("1.2");

            versionProvider.Setup(p => p.CreateVersion(versionObject.VersionText)).Returns(versionObject);

            // Act
            var result = command.Execute(new[] { "-v", "1.2" });

            // Assert
            Assert.Equal("Version 1.2 does not exist in the archive.", this.messageService.Contents.TrimEnd());
            Assert.False(result);
        }