Sample workflows

Here’s some sample workflows to show you the power of Rungutan:

Non-authentication based platforms

{
  "test_name": "Blog post test",
  "num_clients": 250,
  "hatch_rate": 250,
  "run_time": 60,
  "threads_per_region": 1,
  "domain_name": "my-landing-page.com",
  "protocol": "https",
  "test_region": [ "us-east-1" ],
  "workflow": [
    {
      "path": "/",
      "method": "GET"
    },
    {
      "path": "/blog",
      "method": "GET"
    },
    {
      "path": "/blog/post-1",
      "method": "GET"
    },
  ]
}

Basic authentication based platforms

{
  "test_name": "Blog post behind nginx HTTP access basic auth",
  "num_clients": 250,
  "hatch_rate": 250,
  "run_time": 60,
  "threads_per_region": 1,
  "domain_name": "my-basic-site.com",
  "protocol": "https",
  "test_region": [ "us-east-1" ],
  "workflow": [
    {
      "path": "/",
      "method": "GET",
      "headers": {
         "Authorization": "Basic some-token-here"
      }
    },
    {
      "path": "/blog",
      "method": "GET",
      "headers": {
         "Authorization": "Basic some-token-here"
      }
    },
    {
      "path": "/blog/post-1",
      "method": "GET",
      "headers": {
         "Authorization": "Basic some-token-here"
      }
    },
  ]
}

JWT Auth based platforms

{
  "test_name": "Platform with JWT based auth",
  "num_clients": 250,
  "hatch_rate": 250,
  "run_time": 60,
  "threads_per_region": 1,
  "domain_name": "my-jwt-platform.com",
  "protocol": "https",
  "test_region": [ "us-east-1" ],
  "workflow": [
       {
           "path": "/login_path",
           "method": "POST",
           "headers": {
               "Content-Type": "application/x-www-form-urlencoded"
           },
           "data": "user=user&password=pass",
           "extract": [
               {
                   "parameter_name": "authtoken",
                   "location": "body",
                   "key": "access_token"
               }
           ]
       },
       {
           "path": "/my/profile",
           "method": "GET",
           "data": "",
           "headers": {
               "Authorization": "Bearer ${authtoken}"
           }
       },
       {
           "path": "/results",
           "method": "POST",
           "data": "{\"result_id\": \"1\"}"
           "headers": {
               "Authorization": "Bearer ${authtoken}"
           }
       }
   ]
}

CSRF TOKEN based platforms

{
  "test_name": "Magento sample workflow",
  "num_clients": 250,
  "hatch_rate": 250,
  "run_time": 60,
  "domain_name": "my-magento-website.com",
  "protocol": "https",
  "test_region": [ "us-east-1" ],
  "threads_per_region": 1,
  "workflow": [
    {
        "path": "/login_path",
        "method": "GET",
        "headers": {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        "extract": [
            {
                "parameter_name": "csrftoken",
                "location": "body",
                "element_find_regex": "meta name=\"csrf-token\" content=\"(.+?)\""
            }
        ]
    },
    {
        "path": "/login_path",
        "method": "POST",
        "headers": {
            "Content-Type": "application/x-www-form-urlencoded"
        },
        "data": "[email protected]&password=test1.com&_token=${csrftoken}&login=Login"
    },
    {
      "path": "/categories",
      "method": "GET"
    },
    {
      "path": "/catalogsearch/result/?q=cats%20food",
      "method": "GET"
    },
    {
      "path": "/checkout/cart/add/product/754/",
      "method": "POST",
      "headers": {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      "data": "product=754&qty=1"
    },
    {
      "path": "/checkout/cart/add/product/684/",
      "method": "POST",
      "headers": {
        "Content-Type": "application/x-www-form-urlencoded"
      },
      "data": "product=684&qty=50"
    },
    {
      "path": "/checkout",
      "method": "GET",
      "headers": {
        "Content-Type": "application/json"
      }
    },
    {
      "path": "/rest/v1/guest-carts/shipping-information",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "data": "{\n  \"shippingAddress\": {\n    \"countryId\": \"NZ\",\n    \"region\": \"\"\n  },\n  \"shippingMethod\": {\n    \"shipping_method_code\": \"freeshipping\",\n    \"shipping_carrier_code\": \"freeshipping\"\n  }\n}"
    },
    {
      "path": "/rest/v1/guest-carts/set-payment-information",
      "method": "POST",
      "headers": {
        "Content-Type": "application/json"
      },
      "data": "{\n  \"shippingAddress\": {\n    \"countryId\": \"NZ\",\n    \"region\": \"\"\n  },\n  \"shippingMethod\": {\n    \"shipping_method_code\": \"freeshipping\",\n    \"shipping_carrier_code\": \"freeshipping\"\n  }\n}"
    }
  ]
}