[
  {
    "id": "JIRAID-7",
    "description": "artistId_configCatKey_configKey_isExplicitEqTrue_sortBy_sortOrder",
    "postman": "v3/products?artist_id=GRAS_1077362&config_cat_key=C&config_key=95&sort_by=label_id&sort_order=desc&is_explicit=false",
    "pre_condition": "select distinct\nap.artist_id as artist_id\n,config_key\n,p.is_explicit as is_explicit\n,pv.config_cat_key\n,'label_id' as sort_by\n,'desc' as sort_order\nfrom product p join label l on p.label_id=l.label_id join artist_product ap on ap.product_id=p.product_id\njoin product_version pv on p.prod_vers_no=pv.prod_vers_no join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere p.is_explicit=true and ap.artist_id IS NOT null\nlimit 100;",
    "expected_result": "select\n ap.artist_id as artist_id\nfrom product p join label l on p.label_id=l.label_id\n    join artist_product ap on ap.product_id=p.product_id\n    join product_version pv on p.prod_vers_no=pv.prod_vers_no\n    join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere ap.artist_id='{artist_id}'\nand p.is_explicit={is_explicit}\nand config_key='{config_key}'\nand cc.config_cat_key='{config_cat_key}'"
  },
  {
    "id": "JIRAID-8",
    "description": "artistId_configCatKey_configKey_isExplicitEqFalse_sortBy_sortOrder",
    "postman": "v3/products?artist_id=GRAS_1077362&config_cat_key=C&config_key=95&sort_by=label_id&sort_order=desc&is_explicit=false",
    "pre_condition": "select distinct\nap.artist_id as artist_id\n,config_key\n,p.is_explicit as is_explicit\n,pv.config_cat_key,'label_id' as sort_by\n,'desc' as sort_order\nfrom product p join label l on p.label_id=l.label_id join artist_product ap on ap.product_id=p.product_id\njoin product_version pv on p.prod_vers_no=pv.prod_vers_no join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere p.is_explicit=false and ap.artist_id IS NOT null\nlimit 100;",
    "expected_result": "select\n ap.artist_id as artist_id\nfrom product p join label l on p.label_id=l.label_id\n    join artist_product ap on ap.product_id=p.product_id\n    join product_version pv on p.prod_vers_no=pv.prod_vers_no\n    join configuration_category cc on cc.config_cat_key=pv.config_cat_key\n    join product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere ap.artist_id='{artist_id}'\nand p.is_explicit={is_explicit}\nand config_key='{config_key}'\nand cc.config_cat_key='{config_cat_key}'"
  },
  {
    "id": "JIRAID-9",
    "description": "artistId_configCatKey_configKey_isExplicitEqFalse_sortBy_sortOrder_Limit_Offset",
    "postman": "v3/products?artist_id=GRAS_1077362&config_cat_key=C&config_key=95&limit=5&offset=5&sort_by=label_id&sort_order=desc&is_explicit=false",
    "pre_condition": "select distinct\nap.artist_id as artist_id\n,config_key\n,p.is_explicit as is_explicit\n,pv.config_cat_key\n,'label_id' as sort_by\n,'desc' as sort_order\n,'5' as limit\n,'5' as offset\nfrom product p join label l on p.label_id=l.label_id join artist_product ap on ap.product_id=p.product_id\njoin product_version pv on p.prod_vers_no=pv.prod_vers_no join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere p.is_explicit=false and ap.artist_id IS NOT null\nlimit 100;",
    "expected_result": "select\n ap.artist_id as artist_id\nfrom product p join label l on p.label_id=l.label_id\n    join artist_product ap on ap.product_id=p.product_id\n    join product_version pv on p.prod_vers_no=pv.prod_vers_no\n    join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere ap.artist_id='{artist_id}'\nand p.is_explicit={is_explicit}\nand config_key='{config_key}'\nand cc.config_cat_key='{config_cat_key}'"
  },
  {
    "id": "JIRAID-10",
    "description": "artistId_configCatKey_configKey_isExplicitEqTrue_sortBy_sortOrder_Limit_Offset",
    "postman": "v3/products?artist_id=GRAS_1077362&config_cat_key=C&config_key=95&limit=5&offset=5&sort_by=label_id&sort_order=desc&is_explicit=true",
    "pre_condition": "select distinct\nap.artist_id as artist_id\n,config_key\n,p.is_explicit as is_explicit\n,pv.config_cat_key\n,'label_id' as sort_by\n,'desc' as sort_order\n,'5' as limit\n,'5' as offset\nfrom product p join label l on p.label_id=l.label_id join artist_product ap on ap.product_id=p.product_id\njoin product_version pv on p.prod_vers_no=pv.prod_vers_no join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere p.is_explicit=true and ap.artist_id IS NOT null\nlimit 100;",
    "expected_result": "select\n ap.artist_id as artist_id\nfrom product p join label l on p.label_id=l.label_id\n    join artist_product ap on ap.product_id=p.product_id\n    join product_version pv on p.prod_vers_no=pv.prod_vers_no\n    join configuration_category cc on cc.config_cat_key=pv.config_cat_key\njoin product_class pc on pv.prod_class_key=pc.prod_class_key\nwhere ap.artist_id='{artist_id}'\nand p.is_explicit={is_explicit}\nand config_key='{config_key}'\nand cc.config_cat_key='{config_cat_key}'"
  }
]
