5555 gsm_override_sql ,
5656 gsm_override2_sql ,
5757 orders_sql ,
58+ orders_downstream_sql ,
5859 snapshot_sql ,
5960 snapshot2_sql ,
6061 generic_schema_yml ,
6566 groups_schema_yml_two_groups ,
6667 groups_schema_yml_two_groups_edited ,
6768 groups_schema_yml_one_group_model_in_group2 ,
69+ groups_schema_yml_two_groups_private_orders_valid_access ,
70+ groups_schema_yml_two_groups_private_orders_invalid_access ,
6871)
6972
7073from dbt .exceptions import CompilationError , ParsingError
@@ -699,56 +702,57 @@ class TestGroups:
699702 def models (self ):
700703 return {
701704 "orders.sql" : orders_sql ,
705+ "orders_downstream.sql" : orders_downstream_sql ,
702706 "schema.yml" : groups_schema_yml_one_group ,
703707 }
704708
705709 def test_pp_groups (self , project ):
706710
707711 # initial run
708712 results = run_dbt ()
709- assert len (results ) == 1
713+ assert len (results ) == 2
710714 manifest = get_manifest (project .project_root )
711- expected_nodes = ["model.test.orders" ]
715+ expected_nodes = ["model.test.orders" , "model.test.orders_downstream" ]
712716 expected_groups = ["group.test.test_group" ]
713- assert expected_nodes == list (manifest .nodes .keys ())
714- assert expected_groups == list (manifest .groups .keys ())
717+ assert expected_nodes == sorted ( list (manifest .nodes .keys () ))
718+ assert expected_groups == sorted ( list (manifest .groups .keys () ))
715719
716720 # add group to schema
717721 write_file (groups_schema_yml_two_groups , project .project_root , "models" , "schema.yml" )
718722 results = run_dbt (["--partial-parse" , "run" ])
719- assert len (results ) == 1
723+ assert len (results ) == 2
720724 manifest = get_manifest (project .project_root )
721- expected_nodes = ["model.test.orders" ]
725+ expected_nodes = ["model.test.orders" , "model.test.orders_downstream" ]
722726 expected_groups = ["group.test.test_group" , "group.test.test_group2" ]
723- assert expected_nodes == list (manifest .nodes .keys ())
724- assert expected_groups == list (manifest .groups .keys ())
727+ assert expected_nodes == sorted ( list (manifest .nodes .keys () ))
728+ assert expected_groups == sorted ( list (manifest .groups .keys () ))
725729
726730 # edit group in schema
727731 write_file (
728732 groups_schema_yml_two_groups_edited , project .project_root , "models" , "schema.yml"
729733 )
730734 results = run_dbt (["--partial-parse" , "run" ])
731- assert len (results ) == 1
735+ assert len (results ) == 2
732736 manifest = get_manifest (project .project_root )
733- expected_nodes = ["model.test.orders" ]
737+ expected_nodes = ["model.test.orders" , "model.test.orders_downstream" ]
734738 expected_groups = ["group.test.test_group" , "group.test.test_group2_edited" ]
735- assert expected_nodes == list (manifest .nodes .keys ())
736- assert expected_groups == list (manifest .groups .keys ())
739+ assert expected_nodes == sorted ( list (manifest .nodes .keys () ))
740+ assert expected_groups == sorted ( list (manifest .groups .keys () ))
737741
738742 # delete group in schema
739743 write_file (groups_schema_yml_one_group , project .project_root , "models" , "schema.yml" )
740744 results = run_dbt (["--partial-parse" , "run" ])
741- assert len (results ) == 1
745+ assert len (results ) == 2
742746 manifest = get_manifest (project .project_root )
743- expected_nodes = ["model.test.orders" ]
747+ expected_nodes = ["model.test.orders" , "model.test.orders_downstream" ]
744748 expected_groups = ["group.test.test_group" ]
745- assert expected_nodes == list (manifest .nodes .keys ())
746- assert expected_groups == list (manifest .groups .keys ())
749+ assert expected_nodes == sorted ( list (manifest .nodes .keys () ))
750+ assert expected_groups == sorted ( list (manifest .groups .keys () ))
747751
748752 # add back second group
749753 write_file (groups_schema_yml_two_groups , project .project_root , "models" , "schema.yml" )
750754 results = run_dbt (["--partial-parse" , "run" ])
751- assert len (results ) == 1
755+ assert len (results ) == 2
752756
753757 # remove second group with model still configured to second group
754758 write_file (
@@ -759,3 +763,22 @@ def test_pp_groups(self, project):
759763 )
760764 with pytest .raises (ParsingError ):
761765 results = run_dbt (["--partial-parse" , "run" ])
766+
767+ # add back second group, make orders private with valid ref
768+ write_file (
769+ groups_schema_yml_two_groups_private_orders_valid_access ,
770+ project .project_root ,
771+ "models" ,
772+ "schema.yml" ,
773+ )
774+ results = run_dbt (["--partial-parse" , "run" ])
775+ assert len (results ) == 2
776+
777+ write_file (
778+ groups_schema_yml_two_groups_private_orders_invalid_access ,
779+ project .project_root ,
780+ "models" ,
781+ "schema.yml" ,
782+ )
783+ with pytest .raises (ParsingError ):
784+ results = run_dbt (["--partial-parse" , "run" ])
0 commit comments