Skip to main content
Glama
diagram.rs2.16 kB
use dal::{ Component, DalContext, diagram::Diagram, }; use dal_test::{ helpers::{ ChangeSetTestHelpers, create_component_for_default_schema_name_in_default_view, }, test, }; #[test] async fn components_removed_from_snapshot_have_virtual_diagram_entries(ctx: &mut DalContext) { let component_to_remove = create_component_for_default_schema_name_in_default_view( ctx, "starfield", "Removed in sub-change set", ) .await .expect("Unable to create component."); let _component_still_in_change_set = create_component_for_default_schema_name_in_default_view(ctx, "starfield", "Still here") .await .expect("Unable to create component."); ChangeSetTestHelpers::commit_and_update_snapshot_to_visibility(ctx) .await .expect("Unable to commit"); ChangeSetTestHelpers::apply_change_set_to_base(ctx) .await .expect("Unable to merge setup to HEAD"); ChangeSetTestHelpers::fork_from_head_change_set(ctx) .await .expect("Unable to create forked change set"); let removed_component = Component::get_by_id(ctx, component_to_remove.id()) .await .expect("Unable to get component to remove"); removed_component .delete(ctx) .await .expect("Unable to remove component"); ChangeSetTestHelpers::commit_and_update_snapshot_to_visibility(ctx) .await .expect("Unable to commit"); assert!( Component::get_by_id(ctx, component_to_remove.id()) .await .is_err() ); let summary_diagram = Diagram::assemble_for_default_view(ctx) .await .expect("Unable to assemble summary diagram"); let removed_component_summary = summary_diagram .components .iter() .find(|comp| comp.id == component_to_remove.id()) .expect("Removed Component not found in summary diagram"); assert!(removed_component_summary.from_base_change_set); assert_eq!( si_frontend_types::ChangeStatus::Deleted, removed_component_summary.change_status ); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server