Skip to content

http/s longevity test rig in python. Takes a json input file that specifies URLs to get and how many repitions

License

Notifications You must be signed in to change notification settings

mattcobb/multixfer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

multixfer.py --help

usage: Perform multiple gets/puts requests [-h] [--inputFile INPUTFILE]

optional arguments: -h, --help show this help message and exit --inputFile INPUTFILE test definition JSON input file

Input file example:

{
   "inputVersion":1.0,
   "testName":"Download test object",
   "repeat":2,
   "verifyCert":false,
   "targets":[
      {
         "url":"https://jenkins.cobbsweb.us/job/A/lastSuccessfulBuild/artifact/OUTPUT/Release/Installer_2.2.0.exe",
         "operation":"get"
      },
      {
         "url":"https://jenkins.cobbsweb.us/job/B/lastSuccessfulBuild/artifact/OUTPUT/Release/Installer_2.2.0.exe",
         "operation":"get"
      }
   ]
}

Example run:

multixfer.py --inputFile=inputs\nightlytest.json

Example resutls:

{
  "result": "failed",
  "inputVersion": 1.0,
  "verifyCert": false,
  "repeat": 2,
  "testName": "Download test object",
  "targets": [
    {
      "url": "https://jenkins.cobbsweb.us/job/A/lastSuccessfulBuild/artifact/OUTPUT/Release/Installer_2.2.0.exe",
      "operation": "get",
      "successfulCount": 0,
      "failedCount": 1,
      "bytesTransfered": 0
    },
    {
      "url": "https://jenkins.cobbsweb.us/job/B/lastSuccessfulBuild/artifact/OUTPUT/Release/Installer_2.2.0.exe",
      "operation": "get",
      "successfulCount": 1,
      "failedCount": 0,
      "bytesTransfered": 1000
    }
  ],
  "successfulCount": 1,
  "failedCount": 1,
  "bytesTransfered": 1000,
  "inputFilename": "inputs\\nightlytest.json"
}

Input file schema:

{
  "title":"multixfer schema",
  "type": "object",
  "properties": {
    "inputVersion": {
      "type":"number",
      "minumum":1.0,
      "maximum":1.0
    },
    "testName": {
      "type":"string"
    },
    "repeat": {
      "description":"Number of times to loop thru the targets; 0 is infinite; 0 is default",
      "type": "integer",
      "minimum":0
    },
    "verifyCert": {
      "type": "boolean"
    },
    "targets": {
      "type": "array",
      "items": {
        "type":"object",
        "properties": {
          "url": {
            "type":"string"
          },
          "operation": {
            "description":"get or put operation",
            "type": "string"
          }
        }
      }
    }
  }
}

About

http/s longevity test rig in python. Takes a json input file that specifies URLs to get and how many repitions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages