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)); // } //}); }
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)); }); }
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)); }); }
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"); }
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"); }
//[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)); }); }