diff --git a/lib/dal/tests/integration_test/action.rs b/lib/dal/tests/integration_test/action.rs index 2a3120532b..77173f1b0b 100644 --- a/lib/dal/tests/integration_test/action.rs +++ b/lib/dal/tests/integration_test/action.rs @@ -134,7 +134,7 @@ async fn set_state(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn run(ctx: &mut DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view(ctx, "swifty", "shake it off") @@ -190,7 +190,7 @@ async fn auto_queue_creation(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn auto_queue_update(ctx: &mut DalContext) -> Result<()> { // ====================================================== // Creating a component should enqueue a create action @@ -327,7 +327,7 @@ async fn auto_queue_update(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn refresh_actions_run_where_they_should(ctx: &mut DalContext) -> Result<()> { // small even schema can be used to test this! // First, we'll create a new component and apply (and wait for the create action to run) @@ -436,7 +436,7 @@ async fn refresh_actions_run_where_they_should(ctx: &mut DalContext) -> Result<( Ok(()) } -#[test] +#[test(enable_veritech)] async fn resource_value_propagation_subscriptions_works(ctx: &mut DalContext) -> Result<()> { // create 2 variants A & B where A has a resource_value prop that B is subscribed to let component_a_code_definition = r#" diff --git a/lib/dal/tests/integration_test/action/schema_level.rs b/lib/dal/tests/integration_test/action/schema_level.rs index b1d4f015e3..760a2b3bd4 100644 --- a/lib/dal/tests/integration_test/action/schema_level.rs +++ b/lib/dal/tests/integration_test/action/schema_level.rs @@ -22,7 +22,7 @@ use dal_test::{ }; use pretty_assertions_sorted::assert_eq; -#[test] +#[test(enable_veritech)] async fn schema_level_action_prototype(ctx: &mut DalContext) -> Result<()> { let schema = Schema::get_by_name(ctx, "swifty").await?; let default_schema_variant_id = Schema::default_variant_id(ctx, schema.id()).await?; diff --git a/lib/dal/tests/integration_test/asset.rs b/lib/dal/tests/integration_test/asset.rs index bb8a25b1e5..54a5441c95 100644 --- a/lib/dal/tests/integration_test/asset.rs +++ b/lib/dal/tests/integration_test/asset.rs @@ -15,7 +15,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn asset_func_execution_papercuts(ctx: &mut DalContext) { let (schema_name, unstable_schema_variant_id) = { let schema_variant = VariantAuthoringClient::create_schema_and_variant( diff --git a/lib/dal/tests/integration_test/attribute_value.rs b/lib/dal/tests/integration_test/attribute_value.rs index bc64a041ac..911d33d5a9 100644 --- a/lib/dal/tests/integration_test/attribute_value.rs +++ b/lib/dal/tests/integration_test/attribute_value.rs @@ -45,7 +45,7 @@ async fn arguments_for_prototype_function_execution(ctx: &mut DalContext) -> Res Ok(()) } -#[test] +#[test(enable_veritech)] async fn attribute_value_path(ctx: &mut DalContext) -> Result<()> { // Create a component and commit. For context, the test exclusive schema has the identity // function set on "/root/domain/name" with an input from "/root/si/name". We need to ensure @@ -128,7 +128,7 @@ async fn attribute_value_path(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn update_object_multiplayer(ctx: &mut DalContext) -> Result<()> { // Create a variant that will be in all three change sets variant::create( diff --git a/lib/dal/tests/integration_test/attribute_value/subscription.rs b/lib/dal/tests/integration_test/attribute_value/subscription.rs index aab6946484..b7c59bbe3c 100644 --- a/lib/dal/tests/integration_test/attribute_value/subscription.rs +++ b/lib/dal/tests/integration_test/attribute_value/subscription.rs @@ -27,7 +27,7 @@ use si_id::ComponentId; pub mod default_subscriptions; // AV subscribes to name AV on same component -#[test] +#[test(enable_veritech)] async fn subscribe_to_name_on_same_component(ctx: &mut DalContext) -> Result<()> { // Make a variant with a Value prop variant::create( @@ -75,7 +75,7 @@ async fn subscribe_to_name_on_same_component(ctx: &mut DalContext) -> Result<()> } // AV subscribes to AV on same component -#[test] +#[test(enable_veritech)] async fn subscribe_to_string(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -118,7 +118,7 @@ async fn subscribe_to_string(ctx: &mut DalContext) -> Result<()> { } // AV subscribes to array element of another AV -#[test] +#[test(enable_veritech)] async fn subscribe_to_array_element(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -164,7 +164,7 @@ async fn subscribe_to_array_element(ctx: &mut DalContext) -> Result<()> { } // AV subscribes to map element of another AV -#[test] +#[test(enable_veritech)] async fn subscribe_to_map_element(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -214,7 +214,7 @@ async fn subscribe_to_map_element(ctx: &mut DalContext) -> Result<()> { } // Two different subscriptions to different values on the same component (tests dirty logic) -#[test] +#[test(enable_veritech)] async fn subscribe_to_two_values(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -275,7 +275,7 @@ async fn subscribe_to_two_values(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn delete_component_with_subscriptions_correction(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -332,7 +332,7 @@ async fn delete_component_with_subscriptions_correction(ctx: &mut DalContext) -> Ok(()) } -#[test] +#[test(enable_veritech)] async fn array_subscription(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -367,7 +367,7 @@ async fn array_subscription(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn array_item_subscriptions(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -411,7 +411,7 @@ async fn array_item_subscriptions(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_object_to_map(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -443,7 +443,7 @@ async fn subscription_object_to_map(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_map_to_object(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -475,7 +475,7 @@ async fn subscription_map_to_object(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_json_to_string(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -502,7 +502,7 @@ async fn subscription_json_to_string(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_string_to_json(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -529,7 +529,7 @@ async fn subscription_string_to_json(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_type_mismatch_array_to_single(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -554,7 +554,7 @@ async fn subscription_type_mismatch_array_to_single(ctx: &mut DalContext) -> Res Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_type_mismatch_single_to_array(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -579,7 +579,7 @@ async fn subscription_type_mismatch_single_to_array(ctx: &mut DalContext) -> Res Ok(()) } -#[test] +#[test(enable_veritech)] async fn delete_subscribed_to_array_item(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -634,7 +634,7 @@ async fn delete_subscribed_to_array_item(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscribe_with_custom_function(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; let func = FuncAuthoringClient::create_new_transformation_func( @@ -692,7 +692,7 @@ async fn subscribe_with_custom_function(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn remove_subscribed_component(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; @@ -738,7 +738,7 @@ async fn remove_subscribed_component(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_cycles(ctx: &mut DalContext) -> Result<()> { create_testy_variant(ctx).await?; component::create(ctx, "testy", "subscriber").await?; @@ -863,7 +863,7 @@ fn extract_edges(graph: &SubscriptionGraph) -> BTreeSet<(ComponentId, ComponentI edges } -#[test] +#[test(enable_veritech)] async fn subscription_graph_constructors_produce_identical_results( ctx: &mut DalContext, ) -> Result<()> { diff --git a/lib/dal/tests/integration_test/attribute_value/subscription/default_subscriptions.rs b/lib/dal/tests/integration_test/attribute_value/subscription/default_subscriptions.rs index 0fc0f099d8..3a595e7af5 100644 --- a/lib/dal/tests/integration_test/attribute_value/subscription/default_subscriptions.rs +++ b/lib/dal/tests/integration_test/attribute_value/subscription/default_subscriptions.rs @@ -30,7 +30,7 @@ use dal_test::{ }; use pretty_assertions_sorted::assert_eq; -#[test] +#[test(enable_veritech)] async fn test_set_as_default_subscription_source(ctx: &DalContext) -> Result<()> { let (_, _, default_dest_a_variant_id, _) = variants_with_prop_suggestions(ctx).await?; @@ -234,7 +234,7 @@ async fn test_set_as_default_subscription_source(ctx: &DalContext) -> Result<()> Ok(()) } -#[test] +#[test(enable_veritech)] async fn test_is_same_type_as(ctx: &DalContext) -> Result<()> { variants_with_prop_suggestions(ctx).await?; diff --git a/lib/dal/tests/integration_test/attributes.rs b/lib/dal/tests/integration_test/attributes.rs index 14cb72f3cc..14627885c3 100644 --- a/lib/dal/tests/integration_test/attributes.rs +++ b/lib/dal/tests/integration_test/attributes.rs @@ -41,7 +41,7 @@ use si_events::{ // Test that updating attributes sets them (and their parents) correctly, but leaves default // values and other values alone. -#[test] +#[test(enable_veritech)] async fn update_attributes(ctx: &DalContext) -> Result<()> { variant::create( ctx, @@ -131,7 +131,7 @@ async fn update_attributes(ctx: &DalContext) -> Result<()> { // Test that updating an attribute value via the new subscription interface correctly enqueues // update actions -#[test] +#[test(enable_veritech)] async fn update_attributes_enqueues_update_fn(ctx: &mut DalContext) -> Result<()> { // ====================================================== // Creating a component should enqueue a create action @@ -229,7 +229,7 @@ async fn update_attributes_enqueues_update_fn(ctx: &mut DalContext) -> Result<() // Test that attribute updates are processed in the order they are specified sets them (and their parents) correctly, but leaves default // values and other values alone. -#[test] +#[test(enable_veritech)] async fn update_attributes_runs_in_order_and_allows_duplicates(ctx: &mut DalContext) -> Result<()> { variant::create( ctx, @@ -282,7 +282,7 @@ async fn update_attributes_runs_in_order_and_allows_duplicates(ctx: &mut DalCont Ok(()) } -#[test] +#[test(enable_veritech)] async fn update_attributes_serializes_json(ctx: &mut DalContext) -> Result<()> { variant::create( ctx, @@ -357,7 +357,7 @@ async fn update_attributes_serializes_json(ctx: &mut DalContext) -> Result<()> { // Test that attribute updates are processed in the order they are specified sets them (and their parents) correctly, but leaves default // values and other values alone. -#[test] +#[test(enable_veritech)] async fn component_sources_in_order(ctx: &mut DalContext) -> Result<()> { variant::create( ctx, @@ -495,7 +495,7 @@ async fn component_sources_in_order(ctx: &mut DalContext) -> Result<()> { // Test that updating attributes sets them (and their parents) correctly, but leaves default // values and other values alone. -#[test] +#[test(enable_veritech)] async fn update_attribute_child_of_subscription(ctx: &mut DalContext) -> Result<()> { variant::create( ctx, @@ -649,7 +649,7 @@ async fn update_attribute_child_of_subscription(ctx: &mut DalContext) -> Result< /// This tests the fix for a bug where use_default_prototype was calling update(None) /// which created a si:Unset component prototype BEFORE removing the manual override, /// causing the component prototype to remain instead of reverting to the schema variant prototype. -#[test] +#[test(enable_veritech)] async fn unset_manual_override_reverts_to_default(ctx: &mut DalContext) -> Result<()> { // Create a schema with a default value variant::create( @@ -732,7 +732,7 @@ async fn unset_manual_override_reverts_to_default(ctx: &mut DalContext) -> Resul /// Test that unsetting a value that was never manually overridden creates a si:Unset component prototype. /// This tests the else branch of use_default_prototype where no component prototype exists. -#[test] +#[test(enable_veritech)] async fn unset_value_without_existing_override_creates_unset_prototype( ctx: &mut DalContext, ) -> Result<()> { diff --git a/lib/dal/tests/integration_test/audit_logging.rs b/lib/dal/tests/integration_test/audit_logging.rs index 8540471bb4..e72e74d851 100644 --- a/lib/dal/tests/integration_test/audit_logging.rs +++ b/lib/dal/tests/integration_test/audit_logging.rs @@ -30,7 +30,7 @@ const STREAM_RETRY_INTERVAL_MILLISECONDS: u64 = 100; const SIZE: usize = 200; -#[test] +#[test(enable_veritech, enable_forklift)] async fn round_trip(ctx: &mut DalContext, audit_database_context: AuditDatabaseContext) { let context = audit_database_context; diff --git a/lib/dal/tests/integration_test/schema/variant/authoring.rs b/lib/dal/tests/integration_test/authoring.rs similarity index 100% rename from lib/dal/tests/integration_test/schema/variant/authoring.rs rename to lib/dal/tests/integration_test/authoring.rs diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/clone_variant.rs b/lib/dal/tests/integration_test/authoring/clone_variant.rs similarity index 98% rename from lib/dal/tests/integration_test/schema/variant/authoring/clone_variant.rs rename to lib/dal/tests/integration_test/authoring/clone_variant.rs index 63779aca9a..795345c505 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/clone_variant.rs +++ b/lib/dal/tests/integration_test/authoring/clone_variant.rs @@ -7,7 +7,7 @@ use dal::{ }; use dal_test::test; -#[test] +#[test(enable_veritech)] async fn clone_variant(ctx: &mut DalContext) { let new_change_set = ChangeSet::fork_head(ctx, "new change set") .await diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/create_variant.rs b/lib/dal/tests/integration_test/authoring/create_variant.rs similarity index 98% rename from lib/dal/tests/integration_test/schema/variant/authoring/create_variant.rs rename to lib/dal/tests/integration_test/authoring/create_variant.rs index 33511cffdd..d0e28517a7 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/create_variant.rs +++ b/lib/dal/tests/integration_test/authoring/create_variant.rs @@ -8,7 +8,7 @@ use dal::{ }; use dal_test::test; -#[test] +#[test(enable_veritech)] async fn create_variant(ctx: &mut DalContext) { let new_change_set = ChangeSet::fork_head(ctx, "new change set") .await diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/delete_unlocked_variant.rs b/lib/dal/tests/integration_test/authoring/delete_unlocked_variant.rs similarity index 98% rename from lib/dal/tests/integration_test/schema/variant/authoring/delete_unlocked_variant.rs rename to lib/dal/tests/integration_test/authoring/delete_unlocked_variant.rs index 21217be364..76651d6607 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/delete_unlocked_variant.rs +++ b/lib/dal/tests/integration_test/authoring/delete_unlocked_variant.rs @@ -9,7 +9,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn delete_unlocked_variant(ctx: &mut DalContext) { let asset_name = "chainsawVariant".to_string(); let description = None; diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/regenerate.rs b/lib/dal/tests/integration_test/authoring/regenerate.rs similarity index 99% rename from lib/dal/tests/integration_test/schema/variant/authoring/regenerate.rs rename to lib/dal/tests/integration_test/authoring/regenerate.rs index 274692ff86..a06a0447c7 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/regenerate.rs +++ b/lib/dal/tests/integration_test/authoring/regenerate.rs @@ -39,7 +39,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn regenerate_variant(ctx: &mut DalContext) -> Result<()> { ChangeSetTestHelpers::fork_from_head_change_set(ctx).await?; // find the variant we know is default and attached to this func already @@ -97,7 +97,7 @@ async fn regenerate_variant(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn update_socket_data_on_regenerate(ctx: &mut DalContext) -> Result<()> { let name = "Bandit"; let description = None; @@ -274,7 +274,7 @@ async fn update_socket_data_on_regenerate(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn retain_bindings(ctx: &mut DalContext) -> Result<()> { let name = "Toto Wolff"; let description = None; @@ -552,7 +552,7 @@ async fn retain_bindings(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn dynamic_functions_on_new_attribute_values_are_rerun(ctx: &mut DalContext) -> Result<()> { let destination_schema_variant_name = "SchemaVariant Name"; let category = "Schema Variant Category"; diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/save_variant.rs b/lib/dal/tests/integration_test/authoring/save_variant.rs similarity index 99% rename from lib/dal/tests/integration_test/schema/variant/authoring/save_variant.rs rename to lib/dal/tests/integration_test/authoring/save_variant.rs index b160f56f35..e87e92650e 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/save_variant.rs +++ b/lib/dal/tests/integration_test/authoring/save_variant.rs @@ -14,7 +14,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn save_variant(ctx: &mut DalContext) { let new_change_set = ChangeSet::fork_head(ctx, "new change set") .await @@ -122,7 +122,7 @@ async fn save_variant(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn unlock_and_save_variant(ctx: &mut DalContext) { let new_change_set = ChangeSet::fork_head(ctx, "new change set") .await diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/unlock_and_edit_variant.rs b/lib/dal/tests/integration_test/authoring/unlock_and_edit_variant.rs similarity index 99% rename from lib/dal/tests/integration_test/schema/variant/authoring/unlock_and_edit_variant.rs rename to lib/dal/tests/integration_test/authoring/unlock_and_edit_variant.rs index 87137ad0b1..cdd300b042 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/unlock_and_edit_variant.rs +++ b/lib/dal/tests/integration_test/authoring/unlock_and_edit_variant.rs @@ -9,7 +9,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn create_variant_merge_unlock_and_edit(ctx: &mut DalContext) { let asset_name = "chainsawVariant".to_string(); let description = None; diff --git a/lib/dal/tests/integration_test/schema/variant/authoring/update_variant.rs b/lib/dal/tests/integration_test/authoring/update_variant.rs similarity index 99% rename from lib/dal/tests/integration_test/schema/variant/authoring/update_variant.rs rename to lib/dal/tests/integration_test/authoring/update_variant.rs index f553cda8b4..5a6edc8f6a 100644 --- a/lib/dal/tests/integration_test/schema/variant/authoring/update_variant.rs +++ b/lib/dal/tests/integration_test/authoring/update_variant.rs @@ -38,7 +38,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn update_variant(ctx: &mut DalContext) { // Let's create a new asset let asset_name = "paulsTestAsset".to_string(); @@ -174,7 +174,7 @@ async fn update_variant(ctx: &mut DalContext) { assert_eq!(updated_default_schema_variant, second_updated_sv_id); } -#[test] +#[test(enable_veritech)] async fn update_variant_with_new_metadata(ctx: &mut DalContext) { // Let's create a new asset with some initial metadata let asset_name = "paulsTestAsset".to_string(); @@ -512,7 +512,7 @@ async fn update_variant_with_new_metadata(ctx: &mut DalContext) { assert_eq!(second_diagram_component.display_name, second_component_name); } -#[test] +#[test(enable_veritech)] async fn update_variant_with_new_prototypes_for_new_func(ctx: &mut DalContext) { let first_variant = VariantAuthoringClient::create_schema_and_variant( ctx, @@ -682,7 +682,7 @@ async fn update_variant_with_new_prototypes_for_new_func(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn update_variant_with_leaf_func(ctx: &mut DalContext) { let schema_variant = VariantAuthoringClient::create_schema_and_variant( ctx, diff --git a/lib/dal/tests/integration_test/component.rs b/lib/dal/tests/integration_test/component.rs index df9166e426..f9dbba04ae 100644 --- a/lib/dal/tests/integration_test/component.rs +++ b/lib/dal/tests/integration_test/component.rs @@ -46,7 +46,7 @@ mod property_order; mod set_type; mod upgrade; -#[test] +#[test(enable_veritech)] async fn update_and_insert_and_update(ctx: &mut DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view( ctx, @@ -166,7 +166,7 @@ async fn update_and_insert_and_update(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_and_determine_lineage(ctx: &DalContext) -> Result<()> { // List all schemas in the workspace. Pick the first one alphabetically. let mut schemas: Vec = Schema::list(ctx).await?; @@ -221,7 +221,7 @@ async fn create_and_determine_lineage(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn through_the_wormholes_simple(ctx: &mut DalContext) -> Result<()> { let name = "across the universe"; let component = @@ -379,7 +379,7 @@ async fn through_the_wormholes_simple(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn through_the_wormholes_child_value_reactivity(ctx: &mut DalContext) -> Result<()> { let name = "across the universe"; let component = @@ -521,7 +521,7 @@ async fn through_the_wormholes_child_value_reactivity(ctx: &mut DalContext) -> R Ok(()) } -#[test] +#[test(enable_veritech)] async fn set_the_universe(ctx: &mut DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view( ctx, @@ -580,7 +580,7 @@ async fn set_the_universe(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] #[ignore = "this test does not pass on the legacy snapshot because id is not included in the node hash"] async fn change_component_id(ctx: &mut DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view( @@ -621,7 +621,7 @@ async fn change_component_id(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn default_values_appear_in_views(ctx: &mut DalContext) -> Result<()> { let _subscription_tracker = variant::create( ctx, diff --git a/lib/dal/tests/integration_test/component/autosubscribe.rs b/lib/dal/tests/integration_test/component/autosubscribe.rs index f265e55d0a..1fda5e7e18 100644 --- a/lib/dal/tests/integration_test/component/autosubscribe.rs +++ b/lib/dal/tests/integration_test/component/autosubscribe.rs @@ -18,7 +18,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use serde_json::json; -#[test] +#[test(enable_veritech)] async fn autosubscribe_basic_suggest_sources(ctx: &mut DalContext) -> Result<()> { // Test basic functionality where one component has a prop with "suggestSources" // pointing to another component's prop, and values match @@ -109,7 +109,7 @@ async fn autosubscribe_basic_suggest_sources(ctx: &mut DalContext) -> Result<()> Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_basic_suggest_as_source_for(ctx: &mut DalContext) -> Result<()> { // Test basic functionality where one component has a prop with "suggestAsSourceFor" // pointing to another component's prop, and values match @@ -171,7 +171,7 @@ async fn autosubscribe_basic_suggest_as_source_for(ctx: &mut DalContext) -> Resu Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_no_matching_values(ctx: &mut DalContext) -> Result<()> { // Test that subscriptions are NOT created when prop suggestions exist // but values don't match @@ -233,7 +233,7 @@ async fn autosubscribe_no_matching_values(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_multiple_matches_conflict(ctx: &mut DalContext) -> Result<()> { // Test conflict resolution when multiple components could be sources // for the same destination prop (should return conflicts, not create subscriptions) @@ -309,7 +309,7 @@ async fn autosubscribe_multiple_matches_conflict(ctx: &mut DalContext) -> Result Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_single_match_from_multiple_candidates(ctx: &mut DalContext) -> Result<()> { // Test that when multiple candidates exist but only one has matching values, // a subscription is created with that one @@ -395,7 +395,7 @@ async fn autosubscribe_single_match_from_multiple_candidates(ctx: &mut DalContex Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_mixed_explicit_and_implicit_suggestions(ctx: &mut DalContext) -> Result<()> { // Test component with some props having explicit suggestSources and others // relying on implicit suggestAsSourceFor from other components @@ -516,7 +516,7 @@ async fn autosubscribe_mixed_explicit_and_implicit_suggestions(ctx: &mut DalCont Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_no_suggestions_no_subscriptions(ctx: &mut DalContext) -> Result<()> { // Test that components without any prop suggestions don't create subscriptions @@ -557,7 +557,7 @@ async fn autosubscribe_no_suggestions_no_subscriptions(ctx: &mut DalContext) -> Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_schema_mismatch(ctx: &mut DalContext) -> Result<()> { // Test that suggestions pointing to non-existent schemas/wrong schemas // don't create subscriptions @@ -609,7 +609,7 @@ async fn autosubscribe_schema_mismatch(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_prop_path_mismatch(ctx: &mut DalContext) -> Result<()> { // Test that suggestions pointing to non-existent prop paths don't create subscriptions @@ -660,7 +660,7 @@ async fn autosubscribe_prop_path_mismatch(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_array_values(ctx: &mut DalContext) -> Result<()> { // Test autosubscribe behavior with array values @@ -765,7 +765,7 @@ async fn autosubscribe_array_values(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_object_values(ctx: &mut DalContext) -> Result<()> { // Test autosubscribe behavior with complex object values @@ -898,7 +898,7 @@ async fn autosubscribe_object_values(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_multiple_props_same_component(ctx: &mut DalContext) -> Result<()> { // Test component with multiple props that could have subscriptions @@ -999,7 +999,7 @@ async fn autosubscribe_multiple_props_same_component(ctx: &mut DalContext) -> Re Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_between_two_components(ctx: &mut DalContext) -> Result<()> { // Test handling of circular suggestion relationships @@ -1077,7 +1077,7 @@ async fn autosubscribe_between_two_components(ctx: &mut DalContext) -> Result<() Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_existing_subscription_skip(ctx: &mut DalContext) -> Result<()> { // Test that existing subscriptions are not overwritten or duplicated @@ -1147,7 +1147,7 @@ async fn autosubscribe_existing_subscription_skip(ctx: &mut DalContext) -> Resul Ok(()) } -#[test] +#[test(enable_veritech)] async fn autosubscribe_cycle_detection_prevents_cycles(ctx: &mut DalContext) -> Result<()> { // Test that cycle detection prevents circular subscription chains between components // with self-referencing suggestions. At most 1 subscription should be created to diff --git a/lib/dal/tests/integration_test/component/delete.rs b/lib/dal/tests/integration_test/component/delete.rs index 22a0003153..fbe1b2ba41 100644 --- a/lib/dal/tests/integration_test/component/delete.rs +++ b/lib/dal/tests/integration_test/component/delete.rs @@ -38,7 +38,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use veritech_client::ResourceStatus; -#[test] +#[test(enable_veritech)] async fn delete(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view(ctx, "swifty", "shake it off") @@ -58,7 +58,7 @@ async fn delete(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn delete_enqueues_destroy_action(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view(ctx, "dummy-secret", "component") @@ -110,7 +110,7 @@ async fn delete_enqueues_destroy_action(ctx: &mut DalContext) { assert_eq!(1, action_ids.len()); } -#[test] +#[test(enable_veritech)] async fn delete_on_already_to_delete_does_not_enqueue_destroy_action(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view(ctx, "dummy-secret", "component") @@ -188,7 +188,7 @@ async fn delete_on_already_to_delete_does_not_enqueue_destroy_action(ctx: &mut D // dependent_values_update::marked_for_deletion_to_normal_is_blocked tests delete downstream values -#[test] +#[test(enable_veritech)] async fn delete_multiple_components(ctx: &mut DalContext) -> Result<()> { ChangeSetTestHelpers::fork_from_head_change_set(ctx).await?; @@ -317,7 +317,7 @@ async fn delete_multiple_components(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn delete_multiple_components_with_subscriptions(ctx: &mut DalContext) -> Result<()> { // Create a component B that feeds 2 other components A via subscription // Run Create actions for 2 components A diff --git a/lib/dal/tests/integration_test/component/duplicate.rs b/lib/dal/tests/integration_test/component/duplicate.rs index 2a4e3c2704..c67c7a5726 100644 --- a/lib/dal/tests/integration_test/component/duplicate.rs +++ b/lib/dal/tests/integration_test/component/duplicate.rs @@ -17,7 +17,7 @@ use crate::integration_test::component::connectable_test::{ SubscribableTest, }; -#[test] +#[test(enable_veritech)] async fn duplicate_component_with_value(ctx: &mut DalContext) -> Result<()> { let component = ExpectComponent::create_named(ctx, "pirate", "Long John Silver").await; let parrots = component @@ -53,7 +53,7 @@ async fn duplicate_component_with_value(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn duplicate_components_with_subscriptions(ctx: &mut DalContext) -> Result<()> { let test = SubscribableTest::setup(ctx).await?; @@ -175,7 +175,7 @@ async fn duplicate_components_with_subscriptions(ctx: &mut DalContext) -> Result Ok(()) } -#[test] +#[test(enable_veritech)] async fn duplicate_manager_and_managed(ctx: &mut DalContext) -> Result<()> { let test = SubscribableTest::setup(ctx).await?; @@ -217,7 +217,7 @@ async fn duplicate_manager_and_managed(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn duplicate_manager_only(ctx: &mut DalContext) -> Result<()> { let test = SubscribableTest::setup(ctx).await?; @@ -258,7 +258,7 @@ async fn duplicate_manager_only(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn duplicate_managed_only(ctx: &mut DalContext) -> Result<()> { let test = SubscribableTest::setup(ctx).await?; @@ -298,7 +298,7 @@ async fn duplicate_managed_only(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn duplicate_preserves_external_and_recreates_internal_subscriptions( ctx: &mut DalContext, ) -> Result<()> { diff --git a/lib/dal/tests/integration_test/component/get_code.rs b/lib/dal/tests/integration_test/component/get_code.rs index b2dcc978a5..f35e88d3d8 100644 --- a/lib/dal/tests/integration_test/component/get_code.rs +++ b/lib/dal/tests/integration_test/component/get_code.rs @@ -12,7 +12,7 @@ use dal_test::{ }; use pretty_assertions_sorted::assert_eq; -#[test] +#[test(enable_veritech)] async fn get_code_json_lang(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view(ctx, "swifty", "shake it off") @@ -42,7 +42,7 @@ async fn get_code_json_lang(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn get_code_yaml_and_string(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view( ctx, @@ -85,7 +85,7 @@ async fn get_code_yaml_and_string(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn get_code_no_codegen_funcs(ctx: &mut DalContext) { let starfield_component = create_component_for_default_schema_name_in_default_view( ctx, diff --git a/lib/dal/tests/integration_test/component/get_diff.rs b/lib/dal/tests/integration_test/component/get_diff.rs index 20f3365cc1..1ea8009580 100644 --- a/lib/dal/tests/integration_test/component/get_diff.rs +++ b/lib/dal/tests/integration_test/component/get_diff.rs @@ -14,7 +14,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use serde_json::Value; -#[test] +#[test(enable_veritech)] async fn get_diff_new_component(ctx: &mut DalContext) { let starfield_component = create_component_for_default_schema_name_in_default_view( ctx, @@ -45,7 +45,7 @@ async fn get_diff_new_component(ctx: &mut DalContext) { assert_eq!(expected, inner_diff.code); } -#[test] +#[test(enable_veritech)] async fn get_diff_component_no_changes_from_head(ctx: &mut DalContext) { let starfield_component = create_component_for_default_schema_name_in_default_view( ctx, @@ -99,7 +99,7 @@ async fn get_diff_component_no_changes_from_head(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn get_diff_component_change_comp_type(ctx: &mut DalContext) { let starfield_component = create_component_for_default_schema_name_in_default_view( ctx, diff --git a/lib/dal/tests/integration_test/component/paste.rs b/lib/dal/tests/integration_test/component/paste.rs index e4fc57baad..dd4c00624f 100644 --- a/lib/dal/tests/integration_test/component/paste.rs +++ b/lib/dal/tests/integration_test/component/paste.rs @@ -22,7 +22,7 @@ use crate::integration_test::component::connectable_test::{ GEOMETRY2, }; -#[test] +#[test(enable_veritech)] async fn paste_component_with_value(ctx: &mut DalContext) -> Result<()> { let component = ExpectComponent::create_named(ctx, "pirate", "Long John Silver").await; let parrots = component @@ -66,7 +66,7 @@ async fn paste_component_with_value(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn paste_components_with_subscriptions(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; @@ -271,7 +271,7 @@ async fn paste_components_with_subscriptions(ctx: &mut DalContext) -> Result<()> Ok(()) } -#[test] +#[test(enable_veritech)] async fn paste_components_with_subscriptions_opposite_order(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; @@ -476,7 +476,7 @@ async fn paste_components_with_subscriptions_opposite_order(ctx: &mut DalContext Ok(()) } -#[test] +#[test(enable_veritech)] async fn paste_manager_and_managed(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; @@ -518,7 +518,7 @@ async fn paste_manager_and_managed(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn paste_manager_and_managed_opposite_order(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; @@ -560,7 +560,7 @@ async fn paste_manager_and_managed_opposite_order(ctx: &mut DalContext) -> Resul Ok(()) } -#[test] +#[test(enable_veritech)] async fn paste_manager(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; @@ -595,7 +595,7 @@ async fn paste_manager(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn paste_managed(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; diff --git a/lib/dal/tests/integration_test/component/property_order.rs b/lib/dal/tests/integration_test/component/property_order.rs index 4ee8c02caa..38e1914afc 100644 --- a/lib/dal/tests/integration_test/component/property_order.rs +++ b/lib/dal/tests/integration_test/component/property_order.rs @@ -138,7 +138,7 @@ async fn create_test_object_prop_order_schema( const EXPECT_ABCDEF: [&str; 6] = ["a", "b", "c", "d", "e", "f"]; const EXPECT_FEDCBA: [&str; 6] = ["f", "e", "d", "c", "b", "a"]; -#[test] +#[test(enable_veritech)] async fn property_order_remains_after_update(ctx: &mut DalContext) -> dal_test::Result<()> { // Validate that props are in schema defined order let abcdef_schema = create_abcdef_schema(ctx).await?; @@ -176,7 +176,7 @@ async fn property_order_remains_after_update(ctx: &mut DalContext) -> dal_test:: Ok(()) } -#[test] +#[test(enable_veritech)] async fn child_property_order_remains_after_update(ctx: &mut DalContext) -> dal_test::Result<()> { // Validate that props are in schema defined order let variant = create_test_object_prop_order_schema(ctx).await?; @@ -212,7 +212,7 @@ async fn child_property_order_remains_after_update(ctx: &mut DalContext) -> dal_ Ok(()) } -#[test] +#[test(enable_veritech)] async fn child_property_order_remains_after_upgrade(ctx: &mut DalContext) -> dal_test::Result<()> { // Validate that props are in schema defined order let variant = create_test_object_prop_order_schema(ctx).await?; @@ -268,7 +268,7 @@ async fn child_property_order_remains_after_upgrade(ctx: &mut DalContext) -> dal Ok(()) } -#[test] +#[test(enable_veritech)] async fn child_property_value_remains_after_update_and_paste( ctx: &mut DalContext, ) -> dal_test::Result<()> { diff --git a/lib/dal/tests/integration_test/component/upgrade.rs b/lib/dal/tests/integration_test/component/upgrade.rs index c0b55dcdfe..e6cf76711c 100644 --- a/lib/dal/tests/integration_test/component/upgrade.rs +++ b/lib/dal/tests/integration_test/component/upgrade.rs @@ -54,7 +54,7 @@ use crate::integration_test::component::connectable_test::ConnectableTest; // TODO test that validates that components that exist on locked variants aren't auto upgraded, but can be upgraded manually // Components that exist on the unlocked variant get auto upgraded when it gets regenerated -#[test] +#[test(enable_veritech)] async fn auto_upgrade_component(ctx: &mut DalContext) -> Result<()> { // Let's create a new asset let variant_zero = VariantAuthoringClient::create_schema_and_variant( @@ -286,7 +286,7 @@ async fn auto_upgrade_component(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn upgrade_component_type(ctx: &mut DalContext) -> Result<()> { // // Create a new schema and variant set to component_type: ConfigurationFrameDown @@ -346,7 +346,7 @@ async fn upgrade_component_type(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn upgrade_component_type_after_explicit_set(ctx: &mut DalContext) -> Result<()> { // // Create a new schema and variant set to component_type: ConfigurationFrameDown @@ -403,7 +403,7 @@ async fn upgrade_component_type_after_explicit_set(ctx: &mut DalContext) -> Resu Ok(()) } -#[test] +#[test(enable_veritech)] async fn upgrade_component_attaches_overlay_func(ctx: &mut DalContext) -> Result<()> { let swifty = component::create(ctx, "swifty", "swifty").await?; let actions = dal_materialized_views::action::action_view_list::assemble(ctx.clone()).await?; @@ -487,7 +487,7 @@ async fn upgrade_component_attaches_overlay_func(ctx: &mut DalContext) -> Result Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_unlocked_schema_variant_after_component_changes_component_type( ctx: &mut DalContext, ) -> Result<()> { @@ -531,7 +531,7 @@ async fn create_unlocked_schema_variant_after_component_changes_component_type( Ok(()) } -#[test] +#[test(enable_veritech)] async fn upgrade_array_of_objects(ctx: &mut DalContext) -> Result<()> { let variant_code = r#" function main() { @@ -704,7 +704,7 @@ async fn upgrade_array_of_objects(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn upgrade_component_with_subscriptions(ctx: &mut DalContext) -> Result<()> { let test = ConnectableTest::setup(ctx).await?; test.create_connectable(ctx, "in").await?; @@ -769,7 +769,7 @@ async fn update_schema_variant_description( Ok(SchemaVariant::get_by_id(ctx, variant.id).await?.into()) } -#[test] +#[test(enable_veritech)] async fn upgrade_component_preserves_default_subscription_source( ctx: &mut DalContext, ) -> Result<()> { @@ -901,7 +901,7 @@ async fn upgrade_component_preserves_default_subscription_source( /// Test that upgrading a component with default values doesn't spuriously enqueue update actions /// This test verifies the fix for the issue where update actions were being enqueued even when /// no values actually changed during an upgrade. -#[test] +#[test(enable_veritech)] async fn upgrade_without_value_changes_does_not_enqueue_update_action( ctx: &mut DalContext, ) -> Result<()> { diff --git a/lib/dal/tests/integration_test/cycle_check_guard.rs b/lib/dal/tests/integration_test/cycle_check_guard.rs index 3b3da8c029..5bf0b355c1 100644 --- a/lib/dal/tests/integration_test/cycle_check_guard.rs +++ b/lib/dal/tests/integration_test/cycle_check_guard.rs @@ -9,7 +9,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn cycle_check_guard_test(ctx: &DalContext) -> Result<()> { // Cycle check should be disabled by default let snap = ctx.workspace_snapshot()?; @@ -43,7 +43,7 @@ async fn cycle_check_guard_test(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn cycle_cannot_be_created_when_cycle_check_is_enabled(ctx: &DalContext) -> Result<()> { variant::create(ctx, "test", TEST_ASSET_FUNCTION).await?; component::create(ctx, "test", "test").await?; @@ -61,7 +61,7 @@ async fn cycle_cannot_be_created_when_cycle_check_is_enabled(ctx: &DalContext) - Ok(()) } -#[test] +#[test(enable_veritech)] async fn cycle_can_be_created_when_cycle_check_is_disabled(ctx: &DalContext) -> Result<()> { variant::create(ctx, "test", TEST_ASSET_FUNCTION).await?; component::create(ctx, "test", "test").await?; @@ -86,7 +86,7 @@ async fn cycle_can_be_created_when_cycle_check_is_disabled(ctx: &DalContext) -> Ok(()) } -#[test] +#[test(enable_veritech)] async fn edges_can_be_added_when_there_is_an_existing_cycle(ctx: &DalContext) -> Result<()> { variant::create(ctx, "test", TEST_ASSET_FUNCTION).await?; component::create(ctx, "test", "test").await?; @@ -104,7 +104,7 @@ async fn edges_can_be_added_when_there_is_an_existing_cycle(ctx: &DalContext) -> Ok(()) } -#[test] +#[test(enable_veritech)] async fn cycle_cannot_be_created_when_there_is_an_existing_cycle(ctx: &DalContext) -> Result<()> { variant::create(ctx, "test", TEST_ASSET_FUNCTION).await?; component::create(ctx, "test", "test").await?; diff --git a/lib/dal/tests/integration_test/func/authoring/binding/attribute.rs b/lib/dal/tests/integration_test/func/authoring/binding/attribute.rs index 42d7095d28..d22d4a1ae4 100644 --- a/lib/dal/tests/integration_test/func/authoring/binding/attribute.rs +++ b/lib/dal/tests/integration_test/func/authoring/binding/attribute.rs @@ -40,7 +40,7 @@ pub use si_frontend_types; use crate::integration_test::func::authoring::save_func::save_func_setup; -#[test] +#[test(enable_veritech)] async fn create_attribute_prototype_with_attribute_prototype_argument(ctx: &mut DalContext) { let (func_id, _) = save_func_setup(ctx, "test:falloutEntriesToGalaxies").await; @@ -564,7 +564,7 @@ async fn create_attribute_prototype_with_attribute_prototype_argument(ctx: &mut // assert!(value.is_none()); // } -#[test] +#[test(enable_veritech)] async fn invalid_identity_bindings(ctx: &mut DalContext) { // Let's create a new asset let asset_name = "paulsTestAsset".to_string(); @@ -834,7 +834,7 @@ async fn invalid_identity_bindings(ctx: &mut DalContext) { drop(cycle_check_guard); } -#[test] +#[test(enable_veritech)] async fn detach_attribute_func(ctx: &mut DalContext) { ChangeSetTestHelpers::commit_and_update_snapshot_to_visibility(ctx) .await diff --git a/lib/dal/tests/integration_test/func/authoring/create_func.rs b/lib/dal/tests/integration_test/func/authoring/create_func.rs index d3bfd9053f..b0fd12434e 100644 --- a/lib/dal/tests/integration_test/func/authoring/create_func.rs +++ b/lib/dal/tests/integration_test/func/authoring/create_func.rs @@ -35,7 +35,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn create_qualification_with_schema_variant(ctx: &mut DalContext) { let swifty_schema = Schema::get_by_name(ctx, "swifty") .await @@ -107,7 +107,7 @@ async fn create_qualification_with_schema_variant(ctx: &mut DalContext) { assert!(head_func.is_none()); } -#[test] +#[test(enable_veritech)] async fn create_codegen_with_schema_variant(ctx: &mut DalContext) { let swifty_schema = Schema::get_by_name(ctx, "swifty") .await @@ -165,7 +165,7 @@ async fn create_codegen_with_schema_variant(ctx: &mut DalContext) { assert!(head_func.is_none()); } -#[test] +#[test(enable_veritech)] async fn create_attribute_override_dynamic_func_for_prop(ctx: &mut DalContext) { let schema = Schema::get_by_name(ctx, "swifty") .await @@ -239,7 +239,7 @@ async fn create_attribute_override_dynamic_func_for_prop(ctx: &mut DalContext) { assert!(head_func.is_none()); } -#[test] +#[test(enable_veritech)] async fn create_attribute_override_dynamic_func_for_output_socket(ctx: &mut DalContext) { let schema = Schema::get_by_name(ctx, "swifty") .await @@ -310,7 +310,7 @@ async fn create_attribute_override_dynamic_func_for_output_socket(ctx: &mut DalC assert!(head_func.is_none()); } -#[test] +#[test(enable_veritech)] async fn create_action_with_schema_variant(ctx: &mut DalContext) { let swifty_schema = Schema::get_by_name(ctx, "small even lego") .await @@ -371,7 +371,7 @@ async fn create_action_with_schema_variant(ctx: &mut DalContext) { assert!(head_func.is_none()); } -#[test] +#[test(enable_veritech)] async fn duplicate_action_kinds_causes_error(ctx: &mut DalContext) { let schema_variant_id = create_unlocked_variant_copy_for_schema_name(ctx, "small even lego") .await @@ -398,7 +398,7 @@ async fn duplicate_action_kinds_causes_error(ctx: &mut DalContext) { } } -#[test] +#[test(enable_veritech)] async fn duplicate_func_name_in_different_schema_variants_is_ok(ctx: &mut DalContext) { let schema_variant_id = create_unlocked_variant_copy_for_schema_name(ctx, "katy perry") .await @@ -430,7 +430,7 @@ async fn duplicate_func_name_in_different_schema_variants_is_ok(ctx: &mut DalCon .expect("unable to create second func"); } -#[test] +#[test(enable_veritech)] async fn duplicate_func_name_in_same_schema_causes_error(ctx: &mut DalContext) { let schema_variant_id = create_unlocked_variant_copy_for_schema_name(ctx, "katy perry") .await @@ -462,7 +462,7 @@ async fn duplicate_func_name_in_same_schema_causes_error(ctx: &mut DalContext) { } } -#[test] +#[test(enable_veritech)] async fn create_qualification_and_code_gen_with_existing_component(ctx: &mut DalContext) { let asset_name = "britsTestAsset".to_string(); let description = None; diff --git a/lib/dal/tests/integration_test/func/authoring/test_execute.rs b/lib/dal/tests/integration_test/func/authoring/test_execute.rs index fdbb4ce74c..8b3b4f66f1 100644 --- a/lib/dal/tests/integration_test/func/authoring/test_execute.rs +++ b/lib/dal/tests/integration_test/func/authoring/test_execute.rs @@ -21,7 +21,7 @@ use si_events::{ FuncRunState, }; -#[test] +#[test(enable_veritech)] async fn test_execute_action_func(ctx: &mut DalContext) { let component_name = "Forty Six & 2"; let func_name = "test:createActionStarfield"; @@ -61,7 +61,7 @@ async fn test_execute_action_func(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn test_execute_attribute_func(ctx: &mut DalContext) { let component_name = "Jimmy"; let func_name = "test:falloutEntriesToGalaxies"; @@ -101,7 +101,7 @@ async fn test_execute_attribute_func(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn test_execute_code_generation_func(ctx: &mut DalContext) { let component_name = "Pushit"; let func_name = "test:generateStringCode"; @@ -141,7 +141,7 @@ async fn test_execute_code_generation_func(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn test_execute_qualification_func(ctx: &mut DalContext) { let component_name = "Third Eye"; let func_name = "test:qualificationDummySecretStringIsTodd"; @@ -181,7 +181,7 @@ async fn test_execute_qualification_func(ctx: &mut DalContext) { ); } -#[test] +#[test(enable_veritech)] async fn test_execute_with_modified_code(ctx: &mut DalContext) { let component_name = "Jimmy"; let func_name = "test:falloutEntriesToGalaxies"; diff --git a/lib/dal/tests/integration_test/func/debug.rs b/lib/dal/tests/integration_test/func/debug.rs index cc5378985d..3f500ba51a 100644 --- a/lib/dal/tests/integration_test/func/debug.rs +++ b/lib/dal/tests/integration_test/func/debug.rs @@ -21,7 +21,7 @@ use dal_test::{ }; use veritech_client::ComponentKind; -#[test] +#[test(enable_veritech)] async fn test_execute_debug_func(ctx: &mut DalContext) { let code = r#"function debug({ component, debugInput }) { console.log('Debugging'); @@ -61,7 +61,7 @@ async fn test_execute_debug_func(ctx: &mut DalContext) { assert_eq!("test", value["output"]["b"]); } -#[test] +#[test(enable_veritech)] async fn test_debug_func_job(ctx: &mut DalContext) { let code = r#"function debug({ component, debugInput }) { console.log('Debugging'); diff --git a/lib/dal/tests/integration_test/management.rs b/lib/dal/tests/integration_test/management.rs index c1e59ffe1d..ee91936a28 100644 --- a/lib/dal/tests/integration_test/management.rs +++ b/lib/dal/tests/integration_test/management.rs @@ -93,7 +93,7 @@ async fn exec_mgmt_func( Ok((execution_result, result)) } -#[test] +#[test(enable_veritech)] async fn set_resource(ctx: &mut DalContext) -> Result<()> { // Create a schema that has mirrored resource_value + domain props let _test_variant_id = variant::create( @@ -182,7 +182,7 @@ async fn set_resource(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn import_and_refresh(ctx: &mut DalContext) -> Result<()> { let small_even_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -291,7 +291,7 @@ async fn import_and_refresh(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn update_managed_components_in_view(ctx: &DalContext) -> Result<()> { let small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -362,7 +362,7 @@ async fn update_managed_components_in_view(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn update_managed_components(ctx: &DalContext) -> Result<()> { let small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -413,7 +413,7 @@ async fn update_managed_components(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_component_of_other_schema(ctx: &DalContext) -> Result<()> { let small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -488,7 +488,7 @@ async fn create_component_of_other_schema(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_component_of_same_schema(ctx: &DalContext) -> Result<()> { let small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -581,7 +581,7 @@ async fn create_component_of_same_schema(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn execute_management_func(ctx: &DalContext) -> Result<()> { let small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -631,7 +631,7 @@ async fn execute_management_func(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_in_views(ctx: &DalContext) -> Result<()> { let mut small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -704,7 +704,7 @@ async fn create_in_views(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_view_and_in_view(ctx: &DalContext) -> Result<()> { let mut small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -776,7 +776,7 @@ async fn create_view_and_in_view(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn delete_and_erase_components(ctx: &mut DalContext) -> Result<()> { let manager = create_component_for_default_schema_name_in_default_view( ctx, @@ -911,7 +911,7 @@ async fn delete_and_erase_components(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn remove_view_and_component_from_view(ctx: &DalContext) -> Result<()> { let manager = create_component_for_default_schema_name_in_default_view(ctx, "small odd lego", "c-suite") @@ -1027,7 +1027,7 @@ async fn remove_view_and_component_from_view(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn upgrade_manager_variant(ctx: &mut DalContext) -> Result<()> { // Set up management schema let original_variant = ExpectSchemaVariant( @@ -1092,7 +1092,7 @@ async fn upgrade_manager_variant(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_and_subscribe_to_source(ctx: &mut DalContext) -> Result<()> { create_subscription_tracker_asset(ctx).await?; @@ -1174,7 +1174,7 @@ async fn create_and_subscribe_to_source(ctx: &mut DalContext) -> Result<()> { // if we pull it into a HashMap, Foo and Bar would always appear in the same // order) -#[test] +#[test(enable_veritech)] async fn create_and_subscribe_foo_to_bar(ctx: &mut DalContext) -> Result<()> { create_subscription_tracker_asset(ctx).await?; @@ -1241,7 +1241,7 @@ async fn create_and_subscribe_foo_to_bar(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_and_subscribe_bar_to_foo(ctx: &mut DalContext) -> Result<()> { create_subscription_tracker_asset(ctx).await?; @@ -1308,7 +1308,7 @@ async fn create_and_subscribe_bar_to_foo(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn create_and_subscribe_foo_to_bar_reverse(ctx: &mut DalContext) -> Result<()> { create_subscription_tracker_asset(ctx).await?; @@ -1376,7 +1376,7 @@ async fn create_and_subscribe_foo_to_bar_reverse(ctx: &mut DalContext) -> Result Ok(()) } -#[test] +#[test(enable_veritech)] async fn management_execution_state_db_test(ctx: &mut DalContext) -> Result<()> { let small_odd_lego = create_component_for_default_schema_name_in_default_view( ctx, @@ -1515,7 +1515,7 @@ async fn management_execution_state_db_test(ctx: &mut DalContext) -> Result<()> Ok(()) } -#[test] +#[test(enable_veritech)] async fn management_func_autosubscribe(ctx: &mut DalContext) -> Result<()> { // Create fake::region schema let _output = variant::create( @@ -1900,7 +1900,7 @@ async fn create_subscription_tracker_asset(ctx: &DalContext) -> Result Result<()> { let test_variant_id = variant::create( ctx, diff --git a/lib/dal/tests/integration_test/materialized_views.rs b/lib/dal/tests/integration_test/materialized_views.rs index 9c84528a5a..c2617e232e 100644 --- a/lib/dal/tests/integration_test/materialized_views.rs +++ b/lib/dal/tests/integration_test/materialized_views.rs @@ -47,7 +47,7 @@ use si_frontend_mv_types::{ reference::ReferenceKind, }; -#[test] +#[test(enable_veritech)] async fn actions(ctx: &DalContext) -> Result<()> { let schema_name = "swifty"; let component_name = "tes vi"; @@ -125,7 +125,7 @@ async fn actions(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn attribute_tree(ctx: &DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view(ctx, "swifty", "swifty").await?; @@ -138,7 +138,7 @@ async fn attribute_tree(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn schema_variant(ctx: &DalContext) -> Result<()> { let schema_variant_id = SchemaVariant::default_id_for_schema_name(ctx, "swifty").await?; @@ -149,7 +149,7 @@ async fn schema_variant(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn cached_schema_variant_not_found(ctx: &DalContext) -> Result<()> { // Use a non-existent SchemaVariantId let non_existent_id = SchemaVariantId::new(); @@ -166,7 +166,7 @@ async fn cached_schema_variant_not_found(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn component_diff(ctx: &mut DalContext) -> Result<()> { variant::create( ctx, @@ -515,7 +515,7 @@ async fn expected_component_diff_mv( Ok(serde_json::from_str(&json)?) } -#[test] +#[test(enable_veritech)] async fn component(ctx: &DalContext) -> Result<()> { let components = dal_materialized_views::component_list::assemble(ctx.clone()).await?; assert_eq!( diff --git a/lib/dal/tests/integration_test/mod.rs b/lib/dal/tests/integration_test/mod.rs index f68a3df10a..b9105e7971 100644 --- a/lib/dal/tests/integration_test/mod.rs +++ b/lib/dal/tests/integration_test/mod.rs @@ -4,6 +4,7 @@ mod attribute_prototype; mod attribute_value; mod attributes; mod audit_logging; +mod authoring; mod change_set; mod component; mod cycle_check_guard; diff --git a/lib/dal/tests/integration_test/node_weight/action.rs b/lib/dal/tests/integration_test/node_weight/action.rs index a910624568..b2986f45e7 100644 --- a/lib/dal/tests/integration_test/node_weight/action.rs +++ b/lib/dal/tests/integration_test/node_weight/action.rs @@ -28,7 +28,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use si_events::ActionState; -#[test] +#[test(enable_veritech)] async fn prevent_orphaned_update_actions(ctx: &mut DalContext) -> Result<()> { // Create a component with both create and update actions and apply to HEAD. let component_id = component::create(ctx, "swifty", "taylor swift").await?; @@ -87,7 +87,7 @@ async fn prevent_orphaned_update_actions(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn prevent_duplicate_exclusive_actions(ctx: &mut DalContext) -> Result<()> { let test_variant_id = dal_test::helpers::schema::variant::create( ctx, diff --git a/lib/dal/tests/integration_test/pkg/mod.rs b/lib/dal/tests/integration_test/pkg/mod.rs index 66223ecf1b..7129d9c7e5 100644 --- a/lib/dal/tests/integration_test/pkg/mod.rs +++ b/lib/dal/tests/integration_test/pkg/mod.rs @@ -44,7 +44,7 @@ use si_pkg::{ SiPkg, }; -#[test] +#[test(enable_veritech)] async fn import_pkg_from_pkg_set_latest_default(ctx: &mut DalContext) -> Result<()> { // Let's create a new asset let asset_name = "imanasset".to_string(); @@ -133,7 +133,7 @@ async fn import_pkg_from_pkg_set_latest_default(ctx: &mut DalContext) -> Result< Ok(()) } -#[test] +#[test(enable_veritech)] async fn prop_order_preserved(ctx: &mut DalContext) -> Result<()> { let expected_props = vec![ "foo", @@ -314,7 +314,7 @@ fn spec_prop_child_names(parent_prop: &PropSpec, prefix: Option<&str>) -> Vec Result<()> { // Create a schema with variant let asset_name = "upgrade_test_asset".to_string(); @@ -376,7 +376,7 @@ async fn import_funcs_for_module_update_handles_intrinsics(ctx: &mut DalContext) } /// Test that `import_func` with UpdateExisting mode updates an existing func's code. -#[test] +#[test(enable_veritech)] async fn import_func_with_update_existing_updates_code(ctx: &mut DalContext) -> Result<()> { // Create a schema with variant (this creates a SchemaVariantDefinition func) let asset_name = "update_existing_test".to_string(); diff --git a/lib/dal/tests/integration_test/prop.rs b/lib/dal/tests/integration_test/prop.rs index c747891ac2..de0a0cf50b 100644 --- a/lib/dal/tests/integration_test/prop.rs +++ b/lib/dal/tests/integration_test/prop.rs @@ -21,7 +21,7 @@ use itertools::Itertools as _; use pretty_assertions_sorted::assert_eq; use serde_json::json; -#[test] +#[test(enable_veritech)] async fn prop_path(ctx: &DalContext) -> Result<()> { let variant = SchemaVariant::default_for_schema_name(ctx, "starfield").await?; @@ -34,7 +34,7 @@ async fn prop_path(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn verify_prop_used_as_input_flag(ctx: &DalContext) -> Result<()> { let variant_id = SchemaVariant::default_id_for_schema_name(ctx, "pirate").await?; @@ -79,7 +79,7 @@ async fn verify_prop_used_as_input_flag(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn ordered_child_props(ctx: &DalContext) -> Result<()> { let variant_id = SchemaVariant::default_id_for_schema_name(ctx, "starfield").await?; @@ -117,7 +117,7 @@ async fn ordered_child_props(ctx: &DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn prop_documentation(ctx: &mut DalContext) -> Result<()> { let name = "Toto Wolff"; let description = None; @@ -295,7 +295,7 @@ async fn prop_documentation(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn prop_suggestions(ctx: &DalContext) -> Result<()> { let foo = variant::create( ctx, diff --git a/lib/dal/tests/integration_test/qualifications.rs b/lib/dal/tests/integration_test/qualifications.rs index 9b1cf44ee5..60ea266da2 100644 --- a/lib/dal/tests/integration_test/qualifications.rs +++ b/lib/dal/tests/integration_test/qualifications.rs @@ -22,7 +22,7 @@ use pretty_assertions_sorted::assert_eq; const DUMMY_OUTPUT_STREAM_VIEW_LINE: &str = "[THIS IS FAKE DATA]"; -#[test] +#[test(enable_veritech)] async fn list_qualifications(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view( ctx, diff --git a/lib/dal/tests/integration_test/resource_metadata.rs b/lib/dal/tests/integration_test/resource_metadata.rs index 942458eadc..71cc7b88a9 100644 --- a/lib/dal/tests/integration_test/resource_metadata.rs +++ b/lib/dal/tests/integration_test/resource_metadata.rs @@ -22,7 +22,7 @@ use si_events::{ ResourceStatus, }; -#[test] +#[test(enable_veritech)] async fn list(ctx: &mut DalContext, nw: &WorkspaceSignup) -> Result<()> { component::create(ctx, "dummy-secret", "source").await?; component::create(ctx, "fallout", "destination").await?; diff --git a/lib/dal/tests/integration_test/schema/leaf.rs b/lib/dal/tests/integration_test/schema/leaf.rs index 0cca005b41..fa79d8dff2 100644 --- a/lib/dal/tests/integration_test/schema/leaf.rs +++ b/lib/dal/tests/integration_test/schema/leaf.rs @@ -26,7 +26,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use tokio::sync::RwLock; -#[test] +#[test(enable_veritech)] async fn leaf_prototype_rerun(ctx: &mut DalContext) -> Result<()> { let schema = Schema::get_by_name(ctx, "swifty").await?; @@ -123,7 +123,7 @@ async fn leaf_prototype_rerun(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn leaf_prototype_tests(ctx: &mut DalContext) -> Result<()> { let schema = Schema::get_by_name(ctx, "swifty").await?; diff --git a/lib/dal/tests/integration_test/schema/variant.rs b/lib/dal/tests/integration_test/schema/variant.rs index 23968baed7..a89552c5fa 100644 --- a/lib/dal/tests/integration_test/schema/variant.rs +++ b/lib/dal/tests/integration_test/schema/variant.rs @@ -16,7 +16,6 @@ use dal_test::{ }; use pretty_assertions_sorted::assert_eq; -mod authoring; mod view; #[test] diff --git a/lib/dal/tests/integration_test/secret.rs b/lib/dal/tests/integration_test/secret.rs index eaf3c0370c..7154917bf5 100644 --- a/lib/dal/tests/integration_test/secret.rs +++ b/lib/dal/tests/integration_test/secret.rs @@ -36,7 +36,7 @@ use serde_json::Value; mod with_actions; mod with_schema_variant_authoring; -#[test] +#[test(enable_veritech)] async fn new(ctx: &DalContext, nw: &WorkspaceSignup) { let name = generate_fake_name().expect("could not generate fake name"); @@ -75,7 +75,7 @@ async fn new(ctx: &DalContext, nw: &WorkspaceSignup) { assert_eq!(secret, found_secret); } -#[test] +#[test(enable_veritech)] async fn encrypt_decrypt_round_trip(ctx: &DalContext, nw: &WorkspaceSignup) { let pkey = nw.key_pair.public_key(); let name = generate_fake_name().expect("could not generate fake name"); @@ -125,7 +125,7 @@ async fn encrypt_decrypt_round_trip(ctx: &DalContext, nw: &WorkspaceSignup) { assert_eq!(message, actual_message); } -#[test] +#[test(enable_veritech)] async fn update_metadata_and_encrypted_contents(ctx: &DalContext, nw: &WorkspaceSignup) { let pkey = nw.key_pair.public_key(); let key_pair_pk = nw.key_pair.pk(); @@ -280,7 +280,7 @@ async fn update_metadata_and_encrypted_contents(ctx: &DalContext, nw: &Workspace ); } -#[test] +#[test(enable_veritech)] async fn copy_paste_component_with_secrets_being_used( ctx: &mut DalContext, nw: &WorkspaceSignup, @@ -342,7 +342,7 @@ async fn copy_paste_component_with_secrets_being_used( // TODO it's unclear how / whether this should work this way with subscriptions #[ignore] -#[test] +#[test(enable_veritech)] async fn consumed_secrets_work_when_dvu_not_up_to_date( ctx: &mut DalContext, nw: &WorkspaceSignup, @@ -441,7 +441,7 @@ async fn consumed_secrets_work_when_dvu_not_up_to_date( Ok(()) } -#[test] +#[test(enable_veritech)] async fn update_encrypted_contents_with_dependent_values( ctx: &mut DalContext, nw: &WorkspaceSignup, @@ -619,7 +619,7 @@ async fn update_encrypted_contents_with_dependent_values( ); } -#[test] +#[test(enable_veritech)] async fn secret_definition_works_with_dummy_qualification( ctx: &mut DalContext, nw: &WorkspaceSignup, @@ -758,7 +758,7 @@ fn prepare_decrypted_secret_for_assertions(decrypted_secret: &DecryptedSecret) - decrypted_value["message"].to_owned() } -#[test] +#[test(enable_veritech)] async fn secret_definition_daisy_chain_subscriptions(ctx: &mut DalContext, nw: &WorkspaceSignup) { // Create secret that secret defining component uses and commit. let dummy = ExpectComponent::create(ctx, "dummy-secret").await; diff --git a/lib/dal/tests/integration_test/secret/with_actions.rs b/lib/dal/tests/integration_test/secret/with_actions.rs index cf53faa4e4..8d174f9f1e 100644 --- a/lib/dal/tests/integration_test/secret/with_actions.rs +++ b/lib/dal/tests/integration_test/secret/with_actions.rs @@ -28,7 +28,7 @@ use dal_test::{ }; use pretty_assertions_sorted::assert_eq; -#[test] +#[test(enable_veritech)] async fn create_action_using_secret(ctx: &mut DalContext, nw: &WorkspaceSignup) { // Create the components we need and commit. let source_component = diff --git a/lib/dal/tests/integration_test/secret/with_schema_variant_authoring.rs b/lib/dal/tests/integration_test/secret/with_schema_variant_authoring.rs index d2b4b1d3f0..9cedadfc45 100644 --- a/lib/dal/tests/integration_test/secret/with_schema_variant_authoring.rs +++ b/lib/dal/tests/integration_test/secret/with_schema_variant_authoring.rs @@ -19,7 +19,7 @@ use dal_test::{ test, }; -#[test] +#[test(enable_veritech)] async fn existing_code_gen_func_using_secrets_for_new_schema_variant(ctx: &mut DalContext) { // Create a new schema variant and commit. let schema_variant = VariantAuthoringClient::create_schema_and_variant( diff --git a/lib/dal/tests/integration_test/summary_generator.rs b/lib/dal/tests/integration_test/summary_generator.rs index e3dc71165b..2771dd1f23 100644 --- a/lib/dal/tests/integration_test/summary_generator.rs +++ b/lib/dal/tests/integration_test/summary_generator.rs @@ -13,7 +13,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use serde_json::json; -#[test] +#[test(enable_veritech)] async fn generate_component_summaries(ctx: &mut DalContext) -> Result<()> { // Create three variants for a subscription daisy chain. variant::create( diff --git a/lib/dal/tests/integration_test/validations.rs b/lib/dal/tests/integration_test/validations.rs index 15e62f8904..7055909ad0 100644 --- a/lib/dal/tests/integration_test/validations.rs +++ b/lib/dal/tests/integration_test/validations.rs @@ -32,7 +32,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use serde_json::json; -#[test] +#[test(enable_veritech)] async fn validation_format_errors(ctx: &mut DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view(ctx, "BadValidations", "bad") @@ -143,7 +143,7 @@ async fn prop_editor_validation(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn validation_pre_post_mgmt_func(ctx: &mut DalContext) -> Result<()> { let component = create_component_for_default_schema_name_in_default_view(ctx, "ValidatedOutput", "Output") @@ -451,7 +451,7 @@ async fn validation_qualification(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn required_unset_value(ctx: &mut DalContext) -> Result<()> { ExpectSchemaVariant::create_named( ctx, @@ -514,7 +514,7 @@ async fn required_unset_value(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn required_default_value(ctx: &mut DalContext) -> Result<()> { ExpectSchemaVariant::create_named( ctx, @@ -574,7 +574,7 @@ async fn required_default_value(ctx: &mut DalContext) -> Result<()> { Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_with_unresolved_value_skips_validation_on_update( ctx: &mut DalContext, ) -> Result<()> { @@ -698,7 +698,7 @@ async fn subscription_with_unresolved_value_skips_validation_on_update( Ok(()) } -#[test] +#[test(enable_veritech)] async fn subscription_with_unresolved_value_skips_validation_on_component_creation( ctx: &mut DalContext, ) -> Result<()> { diff --git a/lib/dal/tests/integration_test/view.rs b/lib/dal/tests/integration_test/view.rs index 2d05cd1f36..78ebc60561 100644 --- a/lib/dal/tests/integration_test/view.rs +++ b/lib/dal/tests/integration_test/view.rs @@ -26,7 +26,7 @@ use dal_test::{ use pretty_assertions_sorted::assert_eq; use si_frontend_types::RawGeometry; -#[test] +#[test(skip_rebaser, skip_pinga)] async fn create_view_and_component(ctx: &mut DalContext) { let alternative_view = ExpectView::create(ctx).await; @@ -62,7 +62,7 @@ async fn create_view_and_component(ctx: &mut DalContext) { ) } -#[test] +#[test(skip_rebaser, skip_pinga)] async fn deleting_component_deletes_geometries(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view(ctx, "swifty", "shake it off") @@ -121,7 +121,7 @@ async fn deleting_component_deletes_geometries(ctx: &mut DalContext) { assert_eq!(another_diagram.components.len(), 0); } -#[test] +#[test(skip_rebaser, skip_pinga)] async fn remove_view_with_no_components(ctx: &mut DalContext) { let new_view = ExpectView::create(ctx).await; @@ -163,7 +163,7 @@ async fn remove_view_with_no_components(ctx: &mut DalContext) { ); } -#[test] +#[test(skip_rebaser, skip_pinga, skip_veritech)] async fn remove_view_with_no_exclusive_components(ctx: &mut DalContext) { let component = create_component_for_default_schema_name_in_default_view( ctx, @@ -212,7 +212,7 @@ async fn remove_view_with_no_exclusive_components(ctx: &mut DalContext) { ); } -#[test] +#[test(skip_rebaser, skip_pinga, skip_veritech)] async fn remove_view_with_exclusive_components(ctx: &mut DalContext) { let new_view = ExpectView::create(ctx).await; @@ -256,7 +256,7 @@ async fn remove_view_with_exclusive_components(ctx: &mut DalContext) { assert_eq!(vec![Ulid::from(component.id())], orphans,); } -#[test] +#[test(skip_rebaser, skip_pinga, skip_veritech)] async fn remove_view_with_removal_of_exclusive_components(ctx: &mut DalContext) { let new_view = ExpectView::create(ctx).await; diff --git a/lib/si-layer-cache/src/db/change_batch.rs b/lib/si-layer-cache/src/db/change_batch.rs index 9e235feab6..23cf57e5b4 100644 --- a/lib/si-layer-cache/src/db/change_batch.rs +++ b/lib/si-layer-cache/src/db/change_batch.rs @@ -110,6 +110,10 @@ impl ChangeBatchDb { ) -> LayerDbResult>> { let span = current_span_for_instrument_at!("debug"); + if let Some(batch) = self.cache.get(key.to_string().into()).await? { + return Ok(Some(batch)); + } + let key: Arc = key.to_string().into(); const MAX_TRIES: i32 = 2000; let mut interval = tokio::time::interval(tokio::time::Duration::from_millis(1)); diff --git a/lib/si-layer-cache/src/db/rebase_batch.rs b/lib/si-layer-cache/src/db/rebase_batch.rs index 794d3e57f8..a85eff1973 100644 --- a/lib/si-layer-cache/src/db/rebase_batch.rs +++ b/lib/si-layer-cache/src/db/rebase_batch.rs @@ -114,6 +114,10 @@ where let span = current_span_for_instrument_at!("debug"); let key: Arc = key.to_string().into(); + if let Some(batch) = self.cache.get(key.to_string().into()).await? { + return Ok(Some(batch)); + } + const MAX_TRIES: i32 = 2000; let mut interval = tokio::time::interval(tokio::time::Duration::from_millis(1)); let mut tried = 0; diff --git a/lib/si-layer-cache/src/db/workspace_snapshot.rs b/lib/si-layer-cache/src/db/workspace_snapshot.rs index a3c88daba1..eb55311f99 100644 --- a/lib/si-layer-cache/src/db/workspace_snapshot.rs +++ b/lib/si-layer-cache/src/db/workspace_snapshot.rs @@ -122,6 +122,10 @@ where let span = current_span_for_instrument_at!("debug"); let key: Arc = key.to_string().into(); + if let Some(snap) = self.cache.get(key.to_string().into()).await? { + return Ok(Some(snap)); + } + const MAX_TRIES: i32 = 2000; let mut interval = tokio::time::interval(tokio::time::Duration::from_millis(1)); let mut tried = 0; diff --git a/lib/si-test-macros/src/dal_test.rs b/lib/si-test-macros/src/dal_test.rs index 8781612308..4119f212ea 100644 --- a/lib/si-test-macros/src/dal_test.rs +++ b/lib/si-test-macros/src/dal_test.rs @@ -37,19 +37,30 @@ use crate::{ }; pub(crate) fn expand(item: ItemFn, args: Args) -> TokenStream { - let fn_setup = fn_setup(item.sig.inputs.iter()); + let fn_setup = fn_setup(item.sig.inputs.iter(), &args); expand_test(item, args, fn_setup) } -fn fn_setup<'a>(params: impl Iterator) -> DalTestFnSetup { +fn fn_setup<'a>(params: impl Iterator, args: &Args) -> DalTestFnSetup { let mut expander = DalTestFnSetupExpander::new(); - expander.setup_start_forklift_server(); - expander.setup_start_veritech_server(); - expander.setup_start_pinga_server(); - expander.setup_start_edda_server(); - expander.setup_start_rebaser_server(); + // Conditionally start servers based on macro arguments + if args.should_start_server("forklift") { + expander.setup_start_forklift_server(); + } + if args.should_start_server("veritech") { + expander.setup_start_veritech_server(); + } + if args.should_start_server("pinga") { + expander.setup_start_pinga_server(); + } + if args.should_start_server("edda") { + expander.setup_start_edda_server(); + } + if args.should_start_server("rebaser") { + expander.setup_start_rebaser_server(); + } for param in params { match param { diff --git a/lib/si-test-macros/src/lib.rs b/lib/si-test-macros/src/lib.rs index 8d90e10813..fa175a3bc8 100644 --- a/lib/si-test-macros/src/lib.rs +++ b/lib/si-test-macros/src/lib.rs @@ -26,12 +26,34 @@ const SPAN_EVENTS_ENV_VAR: &str = "SI_TEST_LOG_SPAN_EVENTS"; const RT_DEFAULT_WORKER_THREADS: usize = 2; const RT_DEFAULT_THREAD_STACK_SIZE: usize = 2 * 1024 * 1024 * 3; -#[allow(dead_code)] // We aren't current using args on the macro, but when we do we can drop this -// line struct Args { pub(crate) vars: HashSet, } +const DEFAULT_SERVERS: &[&str] = &["rebaser", "pinga"]; + +impl Args { + /// Check if a specific server should be disabled + pub(crate) fn should_skip_server(&self, server_name: &str) -> bool { + let skip_ident = format!("skip_{server_name}"); + self.vars.iter().any(|v| v == &skip_ident) + } + + pub(crate) fn should_enable_server(&self, server_name: &str) -> bool { + let skip_ident = format!("enable_{server_name}"); + self.vars.iter().any(|v| v == &skip_ident) + } + + /// Check if a specific server should be started + pub(crate) fn should_start_server(&self, server_name: &str) -> bool { + if DEFAULT_SERVERS.contains(&server_name) { + !self.should_skip_server(server_name) + } else { + self.should_enable_server(server_name) + } + } +} + impl Parse for Args { fn parse(input: ParseStream) -> syn::Result { let vars = Punctuated::::parse_terminated(input)?; @@ -55,7 +77,34 @@ fn path_as_string(path: &Path) -> String { /// `#[tokio::test]` attribute provided by Tokio, and even the `#[test_log::test]` attribute which /// configures optional tracing/logging output. /// -/// # Examples +/// # Server Control Options +/// +/// By default, *ONLY* rebaser and pnga are started before each test. +/// You can control which servers are started using macro arguments: +/// +/// ## Enable optional Servers +/// +/// * `enable_forklift` - Enable the forklift (audit log processing and billing etc.) server +/// * `enable_veritech` - Enable the veritech (function execution) server +/// * `enable_edda` - Enable the edda (event streaming) server +/// +/// ## Skip default Servers +/// +/// Skip specific servers that aren't needed for your test: +/// +/// ```ignore +/// use dal::DalContext; +/// use dal_test::test; +/// +/// #[test(skip_rebaser, skip_pinga)] +/// async fn test_without_rebaser(ctx: &mut DalContext) { +/// // Runs without rebaser and pinga servers +/// } +/// ``` +/// +/// Available skip options: +/// * `skip_pinga` - Skip the pinga (event processing) server +/// * `skip_rebaser` - Skip the rebaser (change set rebasing) server /// /// ## Optional Support for Results ///