@@ -1566,6 +1566,14 @@ def test_environment_suffix_target_table(init_and_plan_context: t.Callable):
15661566
15671567def test_environment_catalog_mapping (init_and_plan_context : t .Callable ):
15681568 environments_schemas = {"raw" , "sushi" }
1569+ state_tables = {
1570+ "_versions" ,
1571+ "_seeds" ,
1572+ "_snapshots" ,
1573+ "_environments" ,
1574+ "_plan_dags" ,
1575+ "_intervals" ,
1576+ }
15691577
15701578 def get_prod_dev_views (metadata : DuckDBMetadata ) -> t .Tuple [t .Set [exp .Table ], t .Set [exp .Table ]]:
15711579 views = metadata .qualified_views
@@ -1577,53 +1585,69 @@ def get_prod_dev_views(metadata: DuckDBMetadata) -> t.Tuple[t.Set[exp.Table], t.
15771585
15781586 def get_default_catalog_and_non_tables (
15791587 metadata : DuckDBMetadata , default_catalog : t .Optional [str ]
1580- ) -> t .Tuple [t .Set [exp .Table ], t .Set [exp .Table ]]:
1588+ ) -> t .Tuple [t .Set [exp .Table ], t .Set [exp .Table ], t . Set [ exp . Table ] ]:
15811589 tables = metadata .qualified_tables
1582- default_tables = {x for x in tables if x .catalog == default_catalog }
1590+ user_default_tables = {
1591+ x for x in tables if x .catalog == default_catalog and x .db != "sqlmesh"
1592+ }
1593+ state_default_tables = {
1594+ x for x in tables if x .catalog == default_catalog and x .db == "sqlmesh"
1595+ }
15831596 non_default_tables = {x for x in tables if x .catalog != default_catalog }
1584- return default_tables , non_default_tables
1597+ return user_default_tables , state_default_tables , non_default_tables
15851598
15861599 context , plan = init_and_plan_context (
15871600 "examples/sushi" , config = "environment_catalog_mapping_config"
15881601 )
15891602 context .apply (plan )
15901603 metadata = DuckDBMetadata .from_context (context )
15911604 prod_views , dev_views = get_prod_dev_views (metadata )
1592- default_tables , non_default_tables = get_default_catalog_and_non_tables (
1593- metadata , context .default_catalog
1594- )
1605+ (
1606+ user_default_tables ,
1607+ state_default_tables ,
1608+ non_default_tables ,
1609+ ) = get_default_catalog_and_non_tables (metadata , context .default_catalog )
15951610 assert len (prod_views ) == 12
15961611 assert len (dev_views ) == 0
1597- assert len (default_tables ) == 29
1598- assert len ( non_default_tables ) == 0
1612+ assert len (user_default_tables ) == 23
1613+ assert state_tables . issubset ({ x . name for x in state_default_tables })
15991614 apply_to_environment (context , "dev" )
16001615 prod_views , dev_views = get_prod_dev_views (metadata )
1601- default_tables , non_default_tables = get_default_catalog_and_non_tables (
1602- metadata , context .default_catalog
1603- )
1616+ (
1617+ user_default_tables ,
1618+ state_default_tables ,
1619+ non_default_tables ,
1620+ ) = get_default_catalog_and_non_tables (metadata , context .default_catalog )
16041621 assert len (prod_views ) == 12
16051622 assert len (dev_views ) == 12
1606- assert len (default_tables ) == 29
1623+ assert len (user_default_tables ) == 23
16071624 assert len (non_default_tables ) == 0
1625+ assert state_tables .issubset ({x .name for x in state_default_tables })
16081626 apply_to_environment (context , "prodnot" )
16091627 prod_views , dev_views = get_prod_dev_views (metadata )
1610- default_tables , non_default_tables = get_default_catalog_and_non_tables (
1611- metadata , context .default_catalog
1612- )
1628+ (
1629+ user_default_tables ,
1630+ state_default_tables ,
1631+ non_default_tables ,
1632+ ) = get_default_catalog_and_non_tables (metadata , context .default_catalog )
16131633 assert len (prod_views ) == 12
16141634 assert len (dev_views ) == 24
1615- assert len (default_tables ) == 29
1635+ assert len (user_default_tables ) == 23
16161636 assert len (non_default_tables ) == 0
1637+ assert state_tables .issubset ({x .name for x in state_default_tables })
16171638 context .invalidate_environment ("dev" )
16181639 context ._run_janitor ()
16191640 prod_views , dev_views = get_prod_dev_views (metadata )
1620- default_tables , non_default_tables = get_default_catalog_and_non_tables (
1621- metadata , context .default_catalog
1622- )
1641+ (
1642+ user_default_tables ,
1643+ state_default_tables ,
1644+ non_default_tables ,
1645+ ) = get_default_catalog_and_non_tables (metadata , context .default_catalog )
16231646 assert len (prod_views ) == 12
16241647 assert len (dev_views ) == 12
1625- assert len (default_tables ) == 29
1648+ assert len (user_default_tables ) == 23
16261649 assert len (non_default_tables ) == 0
1650+ assert state_tables .issubset ({x .name for x in state_default_tables })
16271651
16281652
16291653@pytest .mark .parametrize (
0 commit comments