Exemple #1
0
        public void GenerateModelFiles_WithAValidDDLFile_And_WithoutCSV_ForSatModelFilesGeneration_ShouldCreateSatTemplateFiles_WithQuestionsMarksInTheTags()
        {
            //Arrange
            // - done in the setup

            //Act
            DbtManager.GenerateModelFiles(DDLFilePath, string.Empty, Constants.SatFileName, OutPutFilePath);

            var expectedSatFileNameList = GetFileNamesList(OutPutFilePath + "satellites");

            //var expectedSatBrFileNameList = GetFileNamesList(OutPutFilePath + "satellitebusinessrules");

            //Assert
            Assert.Multiple(() =>
            {
                Assert.IsNotEmpty(expectedSatFileNameList, "Sat files are not generated");

                foreach (var fileName in expectedSatFileNameList.Where(e => e.EndsWith(".sql")))
                {
                    StringAssert.Contains("{{ config(tags = ['???']) }}",
                                          File.ReadAllText(OutPutFilePath + @"satellites\" + fileName));
                }
            });
            //Assert.Multiple(() =>
            //{
            //    Assert.IsNotEmpty(expectedSatBrFileNameList, "Sat Br files are not generated");

            //    foreach (var fileName in expectedSatBrFileNameList.Where(e => e.EndsWith(".sql")))
            //    {
            //        StringAssert.Contains("{{ config(tags = ['???']) }}",
            //            File.ReadAllText(OutPutFilePath + @"satellitebusinessrules\" + fileName));
            //    }
            //});
        }
Exemple #2
0
        public void GenerateModelFiles_WithAValidDDLFileForSatModelFilesGeneration_ShouldCreateSatTemplateFiles()
        {
            //Arrange
            var expectedSatAndYamlFileNames = new List <string> {
                "sat_cust_nation_details.sql", "sat_cust_nation_details.yml"
            };
            //var expectedSatBrAndYmlFilesNames = new List<string>
            //{ "sat_br_file1.sql",
            //    "sat_br_file1.yml",
            //    "sat_br_file2.sql",
            //    "sat_br_file2.yml"
            //};
            var expectedSatDocFilesNames = new List <string> {
                "sat_cust_nation_details.docs"
            };

            //var expectedSatBrDocFilesNames = new List<string> { "sat_br_file1.docs", "sat_br_file2.docs" };


            //Act
            DbtManager.GenerateModelFiles(DDLFilePath, CsvFilePath, Constants.SatFileName, OutPutFilePath);


            //Assert
            Assert.Multiple(() =>
            {
                AssertGeneratedModelFiles(expectedSatAndYamlFileNames, expectedSatDocFilesNames, "satellites");
                //AssertGeneratedModelFiles(expectedSatBrAndYmlFilesNames, expectedSatBrDocFilesNames, "satellitebusinessrules");
            });
        }
 public void GenerateModelFiles_WithAInvalidModel_ShouldThrowException()
 {
     Assert.Multiple(() =>
     {
         //Assert Invalid File
         Assert.Throws(Is.TypeOf <Exception>().And.Message.Contains(Constants.ModelErrorMessage),
                       () => DbtManager.GenerateModelFiles(DDLFilePath, DDLFilePath, "abc", OutPutFilePath));
     });
 }
Exemple #4
0
 public void GenerateModelFiles_WithAValidDDLFileForStgModelFilesGeneration_WithOnlyStgModels_ShouldThrowException()
 {
     Assert.Multiple(() =>
     {
         //Assert Invalid Model
         Assert.Throws(Is.TypeOf <Exception>().And.Message.Contains(Constants.ModelErrorMessage),
                       () => DbtManager.GenerateModelFiles(DDLFilePath, CsvFilePath, "stg", OutPutFilePath));
     });
 }
Exemple #5
0
        public void GenerateModelFiles_WithAValidDDLFileForHubModelFilesGeneration_ShouldCreateHubTemplateFileDocsFileAndYamlFile()
        {
            //Arrange
            var expectedHubAndYamlFileNames = new List <string> {
                "hub_customer.sql", "hub_customer.yml"
            };
            var expectedDocFilesNames = new List <string> {
                "hub_customer.docs"
            };

            //Act
            DbtManager.GenerateModelFiles(DDLFilePath, CsvFilePath, Constants.HubFileName, OutPutFilePath);

            //Assert
            AssertGeneratedModelFiles(expectedHubAndYamlFileNames, expectedDocFilesNames, "hubs");
        }
Exemple #6
0
        public void GenerateModelFiles_WithAValidDDLAndCsvForLnkModelFilesGeneration_ShouldCreateLnkTemplateFiles()
        {
            //Arrange
            var expectedLinkAndYamlFileNames = new List <string> {
                "lnk_customer_nation.sql", "lnk_customer_nation.yml"
            };
            var expectedDocFilesNames = new List <string> {
                "lnk_customer_nation.docs"
            };

            //Act
            DbtManager.GenerateModelFiles(DDLFilePath, CsvFilePath, Constants.LnkFileName, OutPutFilePath);

            //Assert
            AssertGeneratedModelFiles(expectedLinkAndYamlFileNames, expectedDocFilesNames, "links");
        }
Exemple #7
0
        //[Ignore("waiting on requirements clarification")]
        public void GenerateModelFiles_WithAValidDDLFileForStgModelFilesGeneration_ShouldCreateStgTemplateFile()
        {
            //Arrange
            var expectedStgFileNames = new List <string> {
                "stg_source_model_1.sql", "stg_source_model_2.sql"
            };

            //Act
            DbtManager.GenerateModelFiles(DDLFilePath, CsvFilePath, "*", OutPutFilePath);

            //Assert
            Assert.Multiple(() =>
            {
                AssertGeneratedModelFiles(expectedStgFileNames, "stage");
            });
        }
 public void GenerateModelFiles_WithAInvalidDDLFileForModelFilesGeneration_ShouldThrowException()
 {
     Assert.Multiple(() =>
     {
         //Assert Empty String
         Assert.Throws(Is.TypeOf <Exception>().And.Message.Contains(Constants.InvalidDDLFileExensionError),
                       () => DbtManager.GenerateModelFiles(string.Empty, string.Empty, "*", OutPutFilePath));
         //Assert Invalid Extension
         Assert.Throws(Is.TypeOf <Exception>().And.Message.Contains(Constants.InvalidDDLFileExensionError),
                       () => DbtManager.GenerateModelFiles(".yml", string.Empty, "*", OutPutFilePath));
         //Assert Invalid File
         Assert.Throws(Is.TypeOf <Exception>().And.Message.Contains(Constants.InvalidDDLFileExensionError),
                       () => DbtManager.GenerateModelFiles(CsvFilePath, string.Empty, "*", OutPutFilePath));
         //Assert Invalid File Location
         Assert.Throws(Is.TypeOf <Exception>().And.Message.Contains(Constants.InvalidDDLFileLocation),
                       () => DbtManager.GenerateModelFiles(InvalidDDLFilePath, CsvFilePath, "*", OutPutFilePath));
     });
 }