json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "title": "sireg test case",
      "description": "A test case definition that is understood by https://github.com/FaKeller/sireg",
      "type": "object",
      "properties": {
          "testSuite": {
              "type": "string"
          },
          "loaders": {
              "type": "array",
              "items": {
                  "oneOf": [
                      {
                          "$ref": "#/definitions/FileLoader"
                      },
                      {
                          "$ref": "#/definitions/CsvLoader"
                      },
                      {
                          "$ref": "#/definitions/SitemapLoader"
                      }
                  ]
              },
              "minItems": 1
          },
          "replacers": {
              "type": "array",
              "items": {
                  "oneOf": [
                      {
                          "$ref": "#/definitions/StaticReplacer"
                      }
                  ]
              },
              "minItems": 1
          },
          "settings": {
              "type": "object",
              "properties": {
                  "concurrentRequests": {
                      "type": "number"
                  },
                  "requestTimeout": {
                      "type": "number"
                  }
              },
              "additionalProperties": false
          }
      },
      "additionalProperties": false,
      "required": [
          "testSuite"
      ],
      "definitions": {
          "FileLoader": {
              "type": "object",
              "properties": {
                  "loader": {
                      "enum": [
                          "file"
                      ]
                  },
                  "options": {
                      "type": "object",
                      "properties": {
                          "path": {
                              "type": "string"
                          }
                      },
                      "required": [
                          "path"
                      ],
                      "additionalProperties": false
                  }
              },
              "required": [
                  "loader",
                  "options"
              ],
              "additionalProperties": false
          },
          "CsvLoader": {
              "type": "object",
              "properties": {
                  "loader": {
                      "enum": [
                          "csv"
                      ]
                  },
                  "options": {
                      "type": "object",
                      "properties": {
                          "path": {
                              "type": "string"
                          }
                      },
                      "required": [
                          "path"
                      ],
                      "additionalProperties": false
                  }
              },
              "required": [
                  "loader",
                  "options"
              ],
              "additionalProperties": false
          },
          "SitemapLoader": {
              "type": "object",
              "properties": {
                  "loader": {
                      "enum": [
                          "sitemap"
                      ]
                  },
                  "options": {
                      "type": "object",
                      "properties": {
                          "sitemap": {
                              "type": "string"
                          }
                      },
                      "required": [
                          "sitemap"
                      ],
                      "additionalProperties": false
                  }
              },
              "required": [
                  "loader",
                  "options"
              ],
              "additionalProperties": false
          },
          "StaticReplacer": {
              "type": "object",
              "properties": {
                  "replacer": {
                      "enum": [
                          "static"
                      ]
                  },
                  "options": {
                      "type": "object",
                      "properties": {
                          "replace": {
                              "type": "string"
                          },
                          "with": {
                              "type": "string"
                          }
                      },
                      "required": [
                          "replace",
                          "with"
                      ],
                      "additionalProperties": false
                  }
              },
              "required": [
                  "replacer",
                  "options"
              ],
              "additionalProperties": false
          }
      }
  }