[
  {
    "enabled":1,
    "version_min":300000,
    "title":"Testing expirevar action (1/x) - ip, expire later",
    "expected":{
      "debug_log": "Saving msg: mycount1 is 100"
    },
    "client":{
      "ip":"200.249.12.31",
      "port":123
    },
    "request":{
      "headers":{
        "Host":"localhost",
        "User-Agent":"curl/7.38.0",
        "Accept":"*/*"
      },
      "uri":"/?key=value",
      "method":"GET"
    },
    "server":{
      "ip":"200.249.12.31",
      "port":80
    },
    "rules":[
      "SecRuleEngine On",
      "SecAction \"initcol:ip='127.0.0.1',id:5000,phase:1\"",
      "SecRule ARGS \"@rx value\" \"id:'5001',phase:2,setvar:ip.mycount1=100,expirevar:ip.mycount1=60,pass\"",
      "SecRule &IP:mycount1 \"@eq 1\" \"id:'5002',phase:2,pass,log,msg:'mycount1 is %{ip.mycount1}'\""
    ]
  },
  {
    "enabled":1,
    "version_min":300000,
    "title":"Testing expirevar action (2/x) - ip, expire immediately",
    "expected":{
      "debug_log": "Saving msg: mycount1 is "
    },
    "client":{
      "ip":"200.249.12.31",
      "port":123
    },
    "request":{
      "headers":{
        "Host":"localhost",
        "User-Agent":"curl/7.38.0",
        "Accept":"*/*"
      },
      "uri":"/?key=value",
      "method":"GET"
    },
    "server":{
      "ip":"200.249.12.31",
      "port":80
    },
    "rules":[
      "SecRuleEngine On",
      "SecAction \"initcol:ip='127.0.0.1',id:5010,phase:1\"",
      "SecRule ARGS \"@rx value\" \"id:'5011',phase:2,setvar:ip.mycount1=100,expirevar:ip.mycount1=0,pass\"",
      "SecRule &IP:mycount1 \"@eq 0\" \"id:'5012',phase:2,pass,log,msg:'mycount1 is %{ip.mycount1}'\""
    ]
  },
  {
    "enabled":1,
    "version_min":300000,
    "title":"Testing expirevar action (3/x) session, expire later",
    "expected":{
      "debug_log": "Saving msg: mycount1 is 12"
    },
    "client":{
      "ip":"200.249.12.31",
      "port":123
    },
    "request":{
      "headers":{
        "Host":"localhost",
        "User-Agent":"curl/7.38.0",
        "Accept":"*/*"
      },
      "uri":"/?key=value",
      "method":"GET"
    },
    "server":{
      "ip":"200.249.12.31",
      "port":80
    },
    "rules":[
      "SecRuleEngine On",
      "SecRule ARGS \"@rx .\" \"id:5150,phase:2,pass,setsid:sess1234\"",
      "SecRule ARGS \"@rx value\" \"id:5151,phase:2,pass,setvar:session.mycount1=12,expirevar:session.mycount1=30\"",
      "SecRule &SESSION:mycount1 \"@eq 1\" \"id:'5152',phase:2,pass,log,msg:'mycount1 is %{session.mycount1}'\""
    ]
  },
  {
    "enabled":1,
    "version_min":300000,
    "title":"Testing expirevar action (4/x) session, expire immediately",
    "expected":{
      "debug_log": "Saving msg: mycount1 is"
    },
    "client":{
      "ip":"200.249.12.31",
      "port":123
    },
    "request":{
      "headers":{
        "Host":"localhost",
        "User-Agent":"curl/7.38.0",
        "Accept":"*/*"
      },
      "uri":"/?key=value",
      "method":"GET"
    },
    "server":{
      "ip":"200.249.12.31",
      "port":80
    },
    "rules":[
      "SecRuleEngine On",
      "SecRule ARGS \"@rx .\" \"id:5150,phase:2,pass,setsid:sess1234\"",
      "SecRule ARGS \"@rx value\" \"id:5151,phase:2,pass,setvar:session.mycount1=12,expirevar:session.mycount1=0\"",
      "SecRule &SESSION:mycount1 \"@eq 0\" \"id:'5152',phase:2,pass,log,msg:'mycount1 is %{session.mycount1}'\""
    ]
  }
]
