Beispiel #1
0
        public async Task GetSqlIgnoreConfiguration_DirectoryAndFileConfigured_ReturnsAllfiles()
        {
            var command = new Command()
            {
                Path = ""
            };
            var fileReader = Substitute.For <IFileReader>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(true);
            var lines = new List <string>()
            {
                "path",
                "file 3"
            };
            var files = new List <string>()
            {
                "file 1",
                "file 2"
            };

            fileReader.GetLinesAsync(Arg.Any <string>()).Returns(lines);
            fileReader.DirectoryExistsCheck($"{command.Path}/path").Returns(true);
            fileReader.GetFiles($"{command.Path}/path").Returns(files);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            var result = await confReader.GetSqlIgnoreConfiguration();

            Assert.AreEqual(new List <string>()
            {
                "file 1",
                "file 2",
                "file 3"
            }, result.IgnoredFile);
        }
Beispiel #2
0
        public async Task GetBaseConfiguration_AllConfigured_ReturnsSame()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(true);
            var lines = new List <string>()
            {
                $"{nameof(DbType)}:Mssql",
                $"{nameof(RepositoryType)}:Git",
                $"{nameof(BaseConfiguration.Server)}:localhost",
                $"{nameof(BaseConfiguration.Database)}:sqlcicd",
                $"{nameof(BaseConfiguration.UserId)}:sa",
                $"{nameof(BaseConfiguration.Password)}:123456"
            };

            fileReader.GetLinesAsync(Arg.Any <string>()).Returns(lines);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            var result = await confReader.GetBaseConfiguration();

            Assert.AreEqual(DbType.Mssql, result.DbType);
            Assert.AreEqual(RepositoryType.Git, result.RepositoryType);
            Assert.AreEqual("localhost", result.Server);
            Assert.AreEqual("sqlcicd", result.Database);
            Assert.AreEqual("sa", result.UserId);
            Assert.AreEqual("123456", result.Password);
        }
Beispiel #3
0
        public async Task GetSqlOrderConfiguration_DirectoryConfigured_ReturnsAllfiles()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(true);
            var lines = new List <string>()
            {
                "path"
            };
            var files = new List <string>()
            {
                "file 1",
                "file 2"
            };

            fileReader.GetLinesAsync(Arg.Any <string>()).Returns(lines);
            fileReader.DirectoryExistsCheck(Arg.Any <string>()).Returns(true);
            fileReader.GetFiles(Arg.Any <string>()).Returns(files);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            var result = await confReader.GetSqlOrderConfiguration();

            Assert.AreEqual(files, result.FileOrder);
        }
Beispiel #4
0
        public async Task GetSqlIgnoreConfiguration_FileNotExists_ReturnsEmptyList()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(false);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            var result = await confReader.GetSqlIgnoreConfiguration();

            Assert.AreEqual(0, result.IgnoredFile.Count());
        }
Beispiel #5
0
        public void GetBaseConfiguration_FileNotExists_ThrowsException()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(false);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            Assert.Catch <FileNotFoundException>(() =>
            {
                confReader.GetBaseConfiguration().GetAwaiter().GetResult();
            });
        }
Beispiel #6
0
        public async Task GetSqlIgnoreConfiguration_ReadConfiguration_ReturnsSame()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(true);
            var lines = new List <string>()
            {
                "line 1",
                "line 2"
            };

            fileReader.GetLinesAsync(Arg.Any <string>()).Returns(lines);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            var result = await confReader.GetSqlIgnoreConfiguration();

            Assert.AreEqual(lines, result.IgnoredFile);
        }
Beispiel #7
0
        public void GetBaseConfiguration_RepositoryTypeNotConfigured_ThrowsException()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(true);
            var lines = new List <string>()
            {
                $"{nameof(DbType)}:Mssql"
            };

            fileReader.GetLinesAsync(Arg.Any <string>()).Returns(lines);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            Assert.Catch <BaseConfigurationInvalidException>(() =>
            {
                confReader.GetBaseConfiguration().GetAwaiter().GetResult();
            });
        }
Beispiel #8
0
        public async Task GetBaseConfiguration_AllConfigured_ReturnsSame()
        {
            var fileReader = Substitute.For <IFileReader>();
            var command    = Substitute.For <Command>();

            fileReader.FileExistsCheck(Arg.Any <string>()).Returns(true);
            var lines = new List <string>()
            {
                $"{nameof(DbType)}:Mssql",
                $"{nameof(RepositoryType)}:Git",
                $"{WithRepoConfigurationReader.CONNECTION_STRING_KEY}:default"
            };

            fileReader.GetLinesAsync(Arg.Any <string>()).Returns(lines);
            var confReader = new WithRepoConfigurationReader(fileReader, command);

            var result = await confReader.GetBaseConfiguration();

            Assert.AreEqual(DbType.Mssql, result.DbType);
            Assert.AreEqual(RepositoryType.Git, result.RepositoryType);
            Assert.AreEqual("default", result.ConnectionString);
        }