Test Case Folders

This chapter focuses on services for the test case folders.

Get all test case folders

A GET to /test-case-folders returns all the test case folders that the client is allowed to read.

HTTP request

GET /api/rest/latest/test-case-folders?page=1&size=3 HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

type

which type of the test case should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1414

{
  "_embedded" : {
    "test-case-folders" : [ {
      "_type" : "test-case-folder",
      "id" : 100,
      "name" : "top-secret",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-case-folders/100"
        }
      }
    }, {
      "_type" : "test-case-folder",
      "id" : 101,
      "name" : "confidential",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-case-folders/101"
        }
      }
    }, {
      "_type" : "test-case-folder",
      "id" : 102,
      "name" : "restricted access",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-case-folders/102"
        }
      }
    } ]
  },
  "_links" : {
    "first" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders?page=0&size=3"
    },
    "prev" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders?page=0&size=3"
    },
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders?page=1&size=3"
    },
    "next" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders?page=2&size=3"
    },
    "last" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders?page=3&size=3"
    }
  },
  "page" : {
    "size" : 3,
    "totalElements" : 10,
    "totalPages" : 4,
    "number" : 1
  }
}

Response fields

Path Type Description

_embedded.test-case-folders

Array

the list of elements for that page

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)

Create test case folder

A POST to /test-case-folders creates a new test case folder. The parent object and the name are required; refer to the complete reference of Get test case folder for the other attributes.

HTTP request

POST /api/rest/latest/test-case-folders HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080
Content-Length: 257

{
  "_type" : "test-case-folder",
  "name" : "Test case folder 1",
  "description" : "Description Test case folder 1",
  "custom_fields" : [ {
    "code" : "cuf1",
    "value" : "Cuf1 Value"
  } ],
  "parent" : {
    "_type" : "project",
    "id" : 14
  }
}

HTTP response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8
Content-Length: 1349

{
  "_type" : "test-case-folder",
  "id" : 33,
  "name" : "Test case folder 1",
  "project" : {
    "_type" : "project",
    "id" : 14,
    "name" : "Test Project 1",
    "_links" : {
      "self" : {
        "href" : "http://localhost:8080/api/rest/latest/projects/14"
      }
    }
  },
  "parent" : {
    "_type" : "project",
    "id" : 14,
    "name" : "Test Project 1",
    "_links" : {
      "self" : {
        "href" : "http://localhost:8080/api/rest/latest/projects/14"
      }
    }
  },
  "created_by" : "admin",
  "created_on" : "2017-06-15T10:00:00.000+0000",
  "last_modified_by" : "admin",
  "last_modified_on" : "2017-06-15T10:00:00.000+0000",
  "description" : "Description Test case folder 1",
  "custom_fields" : [ {
    "code" : "cuf1",
    "label" : "Lib Cuf1",
    "value" : "Cuf1 Value"
  }, {
    "code" : "cuf2",
    "label" : "Lib Cuf2",
    "value" : "true"
  } ],
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/33"
    },
    "project" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14"
    },
    "content" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/33/content"
    },
    "attachments" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/33/attachments"
    }
  }
}

Get test case folder

A GET to /test-case-folders/{id} returns the test case folder with the given id.

Path parameters

Table 1. /api/rest/latest/test-case-folders/{id}
Parameter Description

id

the id of the test case folder

HTTP request

GET /api/rest/latest/test-case-folders/24 HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

fields

which fields of the elements should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Length: 1275
Content-Type: application/json;charset=UTF-8

{
  "_type" : "test-case-folder",
  "id" : 24,
  "name" : "Recipes : A-F",
  "project" : {
    "_type" : "project",
    "id" : 10,
    "name" : "Recipes inventory",
    "_links" : {
      "self" : {
        "href" : "http://localhost:8080/api/rest/latest/projects/10"
      }
    }
  },
  "path" : "/Recipes inventory/Recipes : A-F",
  "parent" : {
    "_type" : "project",
    "id" : 10,
    "name" : "Recipes inventory",
    "_links" : {
      "self" : {
        "href" : "http://localhost:8080/api/rest/latest/projects/10"
      }
    }
  },
  "created_by" : "User-1",
  "created_on" : "2011-09-30T10:00:00.000+0000",
  "last_modified_by" : "admin",
  "last_modified_on" : "2017-06-16T10:00:00.000+0000",
  "description" : "<p>All recipes in alphabetical order from A to F inclusive</p>",
  "custom_fields" : [ ],
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/24"
    },
    "project" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/10"
    },
    "content" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/24/content"
    },
    "attachments" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/24/attachments"
    }
  }
}

Response fields

Path Type Description

id

Number

the id of the entity

_type

String

the type of the entity

name

String

name of the entity

project

Object

project of the entity

parent

Object

the location of the entity (either a folder or the project if located at the root of the library)

path

String

the path of the entity

created_by

String

user that created the entity

created_on

String

timestamp of the creation (ISO 8601)

last_modified_by

String

user that modified the entity the most recently

last_modified_on

String

timestamp of last modification (ISO 8601)

description

String

description of that entity (html)

attachments

Array

the attachments of that entity

_links

Varies

related links

custom_fields

Array

the custom fields of this execution step

Relation Description

self

the link to this folder

project

the link to its project

content

the link to its content

attachments

the link to its attachments

Modify test case folder

A Patch to /test-case-folders/{id} modifies the test case folder with the given id.

HTTP request

PATCH /api/rest/latest/test-case-folders/33 HTTP/1.1
Accept: application/json
Content-Length: 247
Content-Type: application/json
Host: localhost:8080

{
  "_type" : "test-case-folder",
  "name" : "Update - Test case folder 1",
  "description" : "Update - Description  Test case folder 1",
  "custom_fields" : [ {
    "code" : "cuf1",
    "label" : "Lib Cuf1",
    "value" : "Cuf1 new value"
  } ]
}

HTTP response

HTTP/1.1 200 OK
Content-Length: 1367
Content-Type: application/json;charset=UTF-8

{
  "_type" : "test-case-folder",
  "id" : 33,
  "name" : "Update - Test case folder 1",
  "project" : {
    "_type" : "project",
    "id" : 14,
    "name" : "Test Project 1",
    "_links" : {
      "self" : {
        "href" : "http://localhost:8080/api/rest/latest/projects/14"
      }
    }
  },
  "parent" : {
    "_type" : "project",
    "id" : 14,
    "name" : "Test Project 1",
    "_links" : {
      "self" : {
        "href" : "http://localhost:8080/api/rest/latest/projects/14"
      }
    }
  },
  "created_by" : "admin",
  "created_on" : "2017-06-15T10:00:00.000+0000",
  "last_modified_by" : "admin",
  "last_modified_on" : "2017-06-15T10:00:00.000+0000",
  "description" : "Update - Description Test case folder 1",
  "custom_fields" : [ {
    "code" : "cuf1",
    "label" : "Lib Cuf1",
    "value" : "Cuf1 Value"
  }, {
    "code" : "cuf2",
    "label" : "Lib Cuf2",
    "value" : "true"
  } ],
  "attachments" : [ ],
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/33"
    },
    "project" : {
      "href" : "http://localhost:8080/api/rest/latest/projects/14"
    },
    "content" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/33/content"
    },
    "attachments" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/33/attachments"
    }
  }
}

Delete test case folder

A DELETE to /test-case-folders/{ids} deletes one or several test case folder with the given id(s). Remember that deleting a folder entails that its content is deleted as well. Also note that test cases that are called by other test cases will not be deleted, unless those test cases are deleted in the same batch.

Path parameters

Table 1. /api/rest/latest/test-case-folders/{ids}
Parameter Description

ids

the list of ids of the test case folders

HTTP request

DELETE /api/rest/latest/test-case-folders/21 HTTP/1.1
Accept: application/json
Content-Type: application/json
Host: localhost:8080

Get test case folder contents

A GET to /test-case-folders/{id}/content returns the content of the test case folder with the given id.

Path parameters

Table 1. /api/rest/latest/test-case-folders/{id}/content
Parameter Description

id

the id of the test-case-folder

HTTP request

GET /api/rest/latest/test-case-folders/180/content HTTP/1.1
Accept: application/json
Host: localhost:8080

Request parameters

Parameter Description

page

number of the page to retrieve (optional)

size

size of the page to retrieve (optional)

sort

which attributes of the returned entities should be sorted on (optional)

fields

which fields of the elements should be returned (optional)

include

level of depth of the content that should be returned (optional)

HTTP response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 1259

{
  "_embedded" : {
    "content" : [ {
      "_type" : "test-case",
      "id" : 13,
      "name" : "walk test",
      "reference" : "",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/13"
        }
      }
    }, {
      "_type" : "scripted-test-case",
      "id" : 150,
      "name" : "fly test",
      "reference" : "",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/150"
        }
      }
    }, {
      "_type" : "keyword-test-case",
      "id" : 180,
      "name" : "swim test",
      "reference" : "",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-cases/180"
        }
      }
    }, {
      "_type" : "test-case-folder",
      "id" : 1467,
      "name" : "other, non-natural motions",
      "_links" : {
        "self" : {
          "href" : "http://localhost:8080/api/rest/latest/test-case-folders/1467"
        }
      }
    } ]
  },
  "_links" : {
    "self" : {
      "href" : "http://localhost:8080/api/rest/latest/test-case-folders/180/content?page=0&size=20"
    }
  },
  "page" : {
    "size" : 20,
    "totalElements" : 4,
    "totalPages" : 1,
    "number" : 0
  }
}

Response fields

Path Type Description

_embedded.content

Array

the list of elements for that page

page.size

Number

the page size for that query

page.totalElements

Number

total number of elements the client is allowed to read

page.totalPages

Number

how many pages can be browsed

page.number

Number

the page number

_links

Object

related links

Relation Description

first

link to the first page (optional)

prev

link to the previous page (optional)

self

link to this page

next

link to the next page (optional)

last

link to the last page (optional)