github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/tests/acceptance/test_data/mods/functionality_test_mod/functionality/control_args.sp (about)

     1  benchmark "query_and_control_parameters_benchmark" {
     2    title         = "Benchmark to test the query and control parameter functionalities in steampipe"
     3    children = [
     4      control.query_params_with_defaults_and_no_args,
     5      control.query_params_with_defaults_and_partial_named_args,
     6      control.query_params_with_defaults_and_partial_positional_args,
     7      control.query_params_with_defaults_and_all_named_args,
     8      control.query_params_with_defaults_and_all_positional_args,
     9      control.query_params_with_no_defaults_and_no_args,
    10      control.query_params_with_no_defaults_with_named_args,
    11      control.query_params_with_no_defaults_with_positional_args,
    12      control.query_params_array_with_default,
    13      control.query_params_map_with_default,
    14      control.query_params_invalid_arg_syntax,
    15      control.query_inline_sql_from_control_with_partial_named_args,
    16      control.query_inline_sql_from_control_with_partial_positional_args,
    17      control.query_inline_sql_from_control_with_no_args,
    18      control.query_inline_sql_from_control_with_all_positional_args,
    19      control.query_inline_sql_from_control_with_all_named_args
    20    ]
    21  }
    22  
    23  control "query_params_with_defaults_and_no_args" {
    24    title = "Control to test query param functionality with defaults(and no args passed)"
    25    query = query.query_params_with_all_defaults
    26  }
    27  
    28  control "query_params_with_defaults_and_partial_named_args" {
    29    title = "Control to test query param functionality with defaults(and some named args passed in query)"
    30    query = query.query_params_with_all_defaults
    31    args = {
    32      "p2" = "command_parameter_2"
    33    }
    34  }
    35  
    36  control "query_params_with_defaults_and_partial_positional_args" {
    37    title = "Control to test query param functionality with defaults(and some positional args passed in query)"
    38    query = query.query_params_with_all_defaults
    39    args = [  "command_parameter_1" ]
    40  }
    41  
    42  control "query_params_with_defaults_and_all_named_args" {
    43    title = "Control to test query param functionality with defaults(and all named args passed in query)"
    44    query = query.query_params_with_all_defaults
    45    args = {
    46      "p1" = "command_parameter_1"
    47      "p2" = "command_parameter_2"
    48      "p3" = "command_parameter_3"
    49    }
    50  }
    51  
    52  control "query_params_with_defaults_and_all_positional_args" {
    53    title = "Control to test query param functionality with defaults(and all positional args passed in query)"
    54    query = query.query_params_with_all_defaults
    55    args = [  "command_parameter_1", "command_parameter_2", "command_parameter_3" ]
    56  }
    57  
    58  control "query_params_with_no_defaults_and_no_args" {
    59    title = "Control to test query param functionality with no defaults(and no args passed)"
    60    query = query.query_params_with_no_defaults
    61  }
    62  
    63  control "query_params_with_no_defaults_with_named_args" {
    64    title = "Control to test query param functionality with no defaults(and args passed in query)"
    65    query = query.query_params_with_no_defaults
    66    args = {
    67      "p1" = "command_parameter_1"
    68      "p2" = "command_parameter_2"
    69      "p3" = "command_parameter_3"
    70    }
    71  }
    72  
    73  control "query_params_with_no_defaults_with_positional_args" {
    74    title = "Control to test query param functionality with no defaults(and positional args passed in query)"
    75    query = query.query_params_with_no_defaults
    76    args = [  "command_parameter_1", "command_parameter_2","command_parameter_3" ]
    77  }
    78  
    79  control "query_params_array_with_default" {
    80    title = "Control to test query param functionality with an array param with default(and no args passed)"
    81    query = query.query_array_params_with_default
    82  }
    83  
    84  control "query_params_map_with_default" {
    85    title = "Control to test query param functionality with a map param with default(and no args passed)"
    86    query = query.query_map_params_with_default
    87  }
    88  
    89  control "query_params_invalid_arg_syntax" {
    90    title = "Control to test query param functionality with a map param with no default(and invalid args passed in query)"
    91    query = query.query_map_params_with_no_default
    92    args = {
    93      "p1" = "command_parameter_1"
    94    }
    95  }
    96  
    97  control "query_inline_sql_from_control_with_partial_named_args" {
    98    title = "Control to test the inline sql functionality within a control with defaults(and some named args passed in control)"
    99    sql = "select 'ok' as status, 'steampipe' as resource, concat($1::text, ' ', $2::text, ' ', $3::text) as reason"
   100    param "p1"{
   101          description = "p1"
   102          default = "default_parameter_1"
   103      }
   104      param "p2"{
   105          description = "p2"
   106          default = "default_parameter_2"
   107      }
   108      param "p3"{
   109          description = "p3"
   110          default = "default_parameter_3"
   111      }
   112      args = {
   113          "p1" = "command_parameter_1"
   114          "p3" = "command_parameter_3"
   115      }
   116    }
   117  
   118  control "query_inline_sql_from_control_with_partial_positional_args" {
   119    title = "Control to test the inline sql functionality within a control with defaults(and some positional args passed in control)"
   120    sql = "select 'ok' as status, 'steampipe' as resource, concat($1::text, ' ', $2::text, ' ', $3::text) as reason"
   121    param "p1"{
   122          description = "p1"
   123          default = "default_parameter_1"
   124      }
   125      param "p2"{
   126          description = "p2"
   127          default = "default_parameter_2"
   128      }
   129      param "p3"{
   130          description = "p3"
   131          default = "default_parameter_3"
   132      }
   133      args = [  "command_parameter_1", "command_parameter_2" ]
   134    }
   135  
   136  control "query_inline_sql_from_control_with_no_args" {
   137    title = "Control to test the inline sql functionality within a control with defaults(and no args passed in control)"
   138    sql = "select 'ok' as status, 'steampipe' as resource, concat($1::text, ' ', $2::text, ' ', $3::text) as reason"
   139    param "p1"{
   140          description = "p1"
   141          default = "default_parameter_1"
   142      }
   143      param "p2"{
   144          description = "p2"
   145          default = "default_parameter_2"
   146      }
   147      param "p3"{
   148          description = "p3"
   149          default = "default_parameter_3"
   150      }
   151    }
   152  
   153  control "query_inline_sql_from_control_with_all_positional_args" {
   154    title = "Control to test the inline sql functionality within a control with defaults(and all positional args passed in control)"
   155    sql = "select 'ok' as status, 'steampipe' as resource, concat($1::text, ' ', $2::text, ' ', $3::text) as reason"
   156    param "p1"{
   157          description = "p1"
   158          default = "default_parameter_1"
   159      }
   160      param "p2"{
   161          description = "p2"
   162          default = "default_parameter_2"
   163      }
   164      param "p3"{
   165          description = "p3"
   166          default = "default_parameter_3"
   167      }
   168      args = [  "command_parameter_1", "command_parameter_2", "command_parameter_3" ]
   169    }
   170  
   171  control "query_inline_sql_from_control_with_all_named_args" {
   172    title = "Control to test the inline sql functionality within a control with defaults(and all named args passed in control)"
   173    sql = "select 'ok' as status, 'steampipe' as resource, concat($1::text, ' ', $2::text, ' ', $3::text) as reason"
   174    param "p1"{
   175          description = "p1"
   176          default = "default_parameter_1"
   177      }
   178      param "p2"{
   179          description = "p2"
   180          default = "default_parameter_2"
   181      }
   182      param "p3"{
   183          description = "p3"
   184          default = "default_parameter_3"
   185      }
   186      args = {
   187          "p1" = "command_parameter_1"
   188          "p2" = "command_parameter_2"
   189          "p3" = "command_parameter_3"
   190      }
   191    }