github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/tests/acceptance/test_files/dashboard_parsing_validation.bats (about) 1 load "$LIB_BATS_ASSERT/load.bash" 2 load "$LIB_BATS_SUPPORT/load.bash" 3 4 # TODO rename tests properly 5 6 @test "Parsing case 1 - top level query providers do not require query/sql blocks (PASS)" { 7 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 8 9 run steampipe dashboard dashboard.query_providers_top_level --output snapshot 10 assert_success 11 } 12 13 @test "Parsing case 2 - top level query providers do not require query/sql blocks except control/query (PASS)" { 14 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 15 16 run steampipe dashboard dashboard.query_providers_top_level_require_sql --output snapshot 17 assert_success 18 } 19 20 @test "Parsing case 3 - top level control/query always require query/sql block (FAIL)" { 21 cd $FILE_PATH/test_data/mods/dashboard_parsing_top_level_query_providers_fail 22 23 run steampipe dashboard dashboard.top_level_control_query_require_sql --output snapshot 24 assert_output --partial 'does not define a query or SQL' 25 } 26 27 @test "Parsing case 4 - nested query providers do require query/sql blocks (PASS)" { 28 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 29 30 run steampipe dashboard dashboard.query_providers_nested --output snapshot 31 assert_success 32 } 33 34 @test "Parsing case 5 - nested query providers do require query/sql blocks (FAIL)" { 35 cd $FILE_PATH/test_data/mods/dashboard_parsing_nested_query_providers_fail 36 37 run steampipe dashboard dashboard.query_providers_nested --output snapshot 38 assert_output --partial 'does not define a query or SQL' 39 } 40 41 @test "Parsing case 6 - nested query providers do not require require query/sql blocks except images/cards (PASS)" { 42 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 43 44 run steampipe dashboard dashboard.query_providers_nested_dont_require_sql --output snapshot 45 assert_success 46 } 47 48 @test "Parsing case 7 - top level node and edge providers do not require a query/sql block or a node/edge block (PASS)" { 49 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 50 51 run steampipe dashboard dashboard.node_edge_providers_top_level --output snapshot 52 assert_success 53 } 54 55 @test "Parsing case 8 - nested node and edge providers always require a query/sql block or a node/edge block (PASS)" { 56 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 57 58 run steampipe dashboard dashboard.node_edge_providers_nested --output snapshot 59 assert_success 60 } 61 62 @test "Parsing case 9 - nested node and edge providers do require a query/sql block or a node/edge block (FAIL)" { 63 cd $FILE_PATH/test_data/mods/dashboard_parsing_nested_node_edge_providers_fail 64 65 run steampipe dashboard dashboard.node_edge_providers_nested --output snapshot 66 assert_output --partial 'does not define a query or SQL, and has no edges/nodes' 67 } 68 69 @test "Parsing case 10 - nested dashboards (PASS)" { 70 cd $FILE_PATH/test_data/mods/dashboard_parsing_validation 71 72 run steampipe dashboard dashboard.nested_dashboards --output snapshot 73 assert_success 74 } 75 76 function teardown_file() { 77 # list running processes 78 ps -ef | grep steampipe 79 80 # check if any processes are running 81 num=$(ps aux | grep steampipe | grep -v bats | grep -v grep | grep -v tests/acceptance | wc -l | tr -d ' ') 82 assert_equal $num 0 83 }