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  }