Continuous Tests¶
This page outlines the success and failure criteria for all tests of Continuous resources.
Continuous API Tests¶
Continuous API tests assert the correct configuration of continuous-related API routes. In order for a test case to succeed, the following conditions must be met when evaluating the response:
For all cases,
Content-Typechecking is enforced. For most routes, a value ofapplication/vnd.ga4gh.rnaget.v1.0.0+jsonORapplication/jsonis expected. For the/continuous/<id>endpoint, a content type matching the format of the file attachment is expected.For all cases,
Status Codechecking is enforced. The response MUST have the expected status codeFor all cases, schema checking is enforced. The json object in the response body MUST conform to a pre-defined schema of required fields and data types, which is specific to each API route
Continuous API Test Cases¶
Get Supported Continuous Formats¶
Route:
/continuous/formatsDescription: Requests the available continuous file formats on the server. Expects an array of strings to be returned in the response body.
Rationale: Asserts that
/continuous/formatsreturns an array of strings, indicating which continuous file formats the server supportsRequest:
GET /continuous/formats
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
[
"loom",
"tsv"
]
Success Criteria:
Status Code == 200AND response body is an array of strings in json formatFailure Criteria:
Status Code != 200OR response body is NOT an array of strings in json format
Continuous Filters¶
Route:
/continuous/filtersDescription: Requests the filters that can be used to narrow search results for a list of
ContinuousRationale: Asserts that the endpoint returns an array of
filtersRequest:
GET /continuous/filters
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
[
{
"fieldType": "string",
"values": [
"1.0"
],
"filter": "version",
"description": "version to search for"
},
{
"fieldType": "string",
"filter": "studyID",
"description": "parent studyID"
}
]
Success Criteria:
Status Code == 200AND response body is array offiltersFailure Criteria:
Status Code != 200OR response body is NOT array offilters
Get Test Continuous Ticket¶
Route:
/continuous/<id>/ticketDescription: Requests continuous ticket by its
id. Expects validticket.Rationale: Asserts that
/continuous/<id>/ticketreturns validticket.Request:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/ticket
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"id": "5e22e009f41fc53cbea094a41de8798f",
"version": "1.0",
"studyID": "f3ba0b59bed0fa2f1030e7cb508324d1",
"url": "https://url/to/continuous/file",
"units": "TPM",
"fileType": "loom/tsv"
}
Success Criteria:
Status Code == 200AND response isticketFailure Criteria:
Status Code != 200OR response is NOTticket
Single Continuous Ticket - Not Found¶
Route:
/continuous/<id>/ticketDescription: Requests continuous ticket with an invalid
id. Expects a404 Not Foundstatus code in the response, and error message.Rationale: Asserts that the
/continuous/<id>/ticketendpoint does not return arbitraryticket.Request:
GET /continuous/nonexistentid9999999999999999999/ticket
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 404 Not Found
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "Entry not found in database."
}
Success Criteria:
Status Code == 404AND response body is validErrorjsonFailure Criteria:
Status Code != 404OR response body is NOT validErrorjson
Single Continuous Ticket - Start Specified Without Chr¶
Route:
/continuous/<id>/ticketDescription: Requests continuous ticket by its id, specifying a start position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/<id>/ticketendpoint raises an error whenstartis specified withoutchrRequest:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/ticket?start=5
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Single Continuous Ticket - End Specified Without Chr¶
Route:
/continuous/<id>/ticketDescription: Requests test continuous by its id, specifying an end position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/<id>/ticketendpoint raises an error whenendis specified withoutchrRequest:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/ticket?end=1000
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Single Continuous Ticket - Start Greater Than End¶
Route:
/continuous/<id>/ticketDescription: Requests test continuous ticket by its id, specifying
chr,start, andend, however,startposition is greater thanend. Expects a400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/<id>/ticketendpoint raises an error whenstartis greater thanendRequest:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/ticket?chr=1&start=200&end=100
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "start cannot be greater than end"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Get Test Continuous Bytes¶
Route:
/continuous/<id>/bytesDescription: Requests continuous matrix bytes by its
id.Rationale: Asserts that
/continuous/<id>/bytesreturns matrix bytes.Request:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/bytes
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Success Criteria:
Status Code == 200Failure Criteria:
Status Code != 200
Single Continuous Bytes - Not Found¶
Route:
/continuous/<id>/bytesDescription: Requests continuous bytes with an invalid
id. Expects a404 Not Foundstatus code in the response, and error message.Rationale: Asserts that the
/continuous/<id>/bytesendpoint does not return arbitrary matrix.Request:
GET /continuous/nonexistentid9999999999999999999/bytes
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 404 Not Found
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "Entry not found in database."
}
Success Criteria:
Status Code == 404AND response body is validErrorjsonFailure Criteria:
Status Code != 404OR response body is NOT validErrorjson
Single Continuous Bytes - Start Specified Without Chr¶
Route:
/continuous/<id>/bytesDescription: Requests continuous matrix bytes by its id, specifying a start position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/<id>/bytesendpoint raises an error whenstartis specified withoutchrRequest:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/bytes?start=5
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Single Continuous Bytes - End Specified Without Chr¶
Route:
/continuous/<id>/bytesDescription: Requests test continuous matrix bytes by its id, specifying an end position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/<id>/bytesendpoint raises an error whenendis specified withoutchrRequest:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/bytes?end=1000
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Single Continuous Bytes - Start Greater Than End¶
Route:
/continuous/<id>/bytesDescription: Requests test continuous matrix bytes by its id, specifying
chr,start, andend, however,startposition is greater thanend. Expects a400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/<id>/bytesendpoint raises an error whenstartis greater thanendRequest:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/bytes?chr=1&start=200&end=100
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "start cannot be greater than end"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous Ticket by Format¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix, specifying only the required ‘format’ parameter. Expects
ticket.Rationale: Asserts that
/continuous/ticketreturns aticketwith which the matrix can be downloaded.Request:
GET /continuous/ticket?format=loom
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"studyID": "6cccbbd76b9c4837bd7342dd616d0fec",
"url": "/path/to/signal-query-results.loom",
"units": "TPM",
"version": "1.0",
"fileType": "loom"
}
Success Criteria:
Status Code == 200AND response body isticketFailure Criteria:
Status Code != 200OR response body is NOTticket
Continuous Ticket - All Filters¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix, using all filtering parameters. Expects
ticket.Rationale: Asserts that
/continuous/ticketreturnsticketwhen specifying filters.Request:
GET /continuous/ticket?format=loom&version=1.0&studyID=f3ba0b59bed0fa2f1030e7cb508324d1
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"studyID": "f3ba0b59bed0fa2f1030e7cb508324d1",
"url": "/path/to/continuous.loom",
"units": "TPM",
"version": "1.0",
"fileType": "loom"
}
Success Criteria:
Status Code == 200AND response body isticketFailure Criteria:
Status Code != 200OR response body is NOTticket
Continuous Ticket - Single Filter, 1¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix, using only 1 filtering parameter associated with test continuous (in addition to format). Expects
ticket.Rationale: Asserts filtering parameters can be used independently of one another, and that each filter yields a valid
ticket.Requests:
GET /continuous/ticket?format=loom&version=1.0
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"url": "/path/to/signal-query-results.loom",
"units": "TPM",
"version": "1.0",
"fileType": "loom"
}
Success Criteria:
Status Code == 200AND response body isticket.Failure Criteria:
Status Code != 200OR response body is NOTticket.
Continuous Ticket - Single Filter, 2¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix, using only 1 filtering parameter (different than above) associated with test continuous (in addition to format). Expects
ticket.Rationale: Asserts filtering parameters can be used independently of one another, and that each filter yields a valid
ticket.Requests:
GET /continuous/ticket?format=loom&studyID=f3ba0b59bed0fa2f1030e7cb508324d1
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"studyID": "6cccbbd76b9c4837bd7342dd616d0fec",
"url": "/path/to/signal-query-results.loom",
"units": "TPM",
"fileType": "loom"
}
Success Criteria:
Status Code == 200AND response body isticket.Failure Criteria:
Status Code != 200OR response body is NOTticket.
Continuous Ticket - Format Not Specified¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix WITHOUT specifying the required
formatparameter. Expects a4xxresponse with error message.Rationale: As the
formatparameter is required to specify file format for the/continuous/ticketendpoint, this test asserts malformed requests raise an error.Request:
GET /continuous/ticket
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "Input payload validation failed"
}
Success Criteria:
Status Code == 4xxAND response body is validErrorjsonFailure Criteria:
Status Code != 4xxAND response body is NOT validErrorjson
Continuous Ticket - Filetype Matches¶
Route:
/continuous/ticketDescription: Request joined continuous matrix, only specifying the required
formatparameter. Checks thattickethas afileTypematching requestedformat.Rationale: Asserts that the
/continuous/ticketendpoint returnsticketwith fileType matching the request.Request:
GET /continuous/ticket?format=loom
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"studyID": "6cccbbd76b9c4837bd7342dd616d0fec",
"url": "/woldlab/castor/home/sau/public_html/rnaget/signal-query-results.loom",
"units": "TPM",
"version": "1.0",
"fileType": "loom"
}
Success Criteria:
Status Code == 200AND response body isticketANDfileTypematches requestedformatFailure Criteria:
Status Code != 200OR response body is NOTticketORfileTypeDOES NOT match requestedformat
Continuous Ticket - Start Specified Without Chr¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix ticket, specifying a start position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/ticketendpoint raises an error whenstartis specified withoutchrRequest:
GET /continuous/ticket?format=loom&start=5
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous Ticket - End Specified Without Chr¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix ticket, specifying an end position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/ticketendpoint raises an error whenendis specified withoutchrRequest:
GET /continuous/ticket?format=loom&end=1000
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous Ticket - Start Greater Than End¶
Route:
/continuous/ticketDescription: Requests joined continuous matrix ticket, specifying
chr,start, andend, however,startposition is greater thanend. Expects a400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/ticketendpoint raises an error whenstartis greater thanendRequest:
GET /continuous/ticket?format=loom&chr=1&start=200&end=100
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "start cannot be greater than end"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous Bytes by Format¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, specifying only the required ‘format’ parameter.
Rationale: Asserts that
/continuous/bytesreturns matrix bytes.Request:
GET /continuous/bytes?format=loom
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Success Criteria:
Status Code == 200Failure Criteria:
Status Code != 200
Continuous Bytes - All Filters¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, using all filtering parameters.
Rationale: Asserts that
/continuous/ticketreturns matrix bytes when specifying filters.Request:
GET /continuous/bytes?format=loom&version=1.0&studyID=f3ba0b59bed0fa2f1030e7cb508324d1
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Success Criteria:
Status Code == 200Failure Criteria:
Status Code != 200
Continuous Bytes - Single Filter, 1¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, using only 1 filtering parameter associated with test continuous (in addition to format).
Rationale: Asserts filtering parameters can be used independently of one another.
Requests:
GET /continuous/bytes?format=loom&version=1.0
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Success Criteria:
Status Code == 200Failure Criteria:
Status Code != 200
Continuous Bytes - Single Filter, 2¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, using only 1 filtering parameter (different than above) associated with test continuous (in addition to format).
Rationale: Asserts filtering parameters can be used independently of one another.
Requests:
GET /continuous/bytes?format=loom&studyID=f3ba0b59bed0fa2f1030e7cb508324d1
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Success Criteria:
Status Code == 200Failure Criteria:
Status Code != 200
Continuous Bytes - Format Not Specified¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes WITHOUT specifying the required
formatparameter. Expects a4xxresponse with error message.Rationale: As the
formatparameter is required to specify file format for the/continuous/bytesendpoint, this test asserts malformed requests raise an error.Request:
GET /continuous/bytes
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "Input payload validation failed"
}
Success Criteria:
Status Code == 4xxAND response body is validErrorjsonFailure Criteria:
Status Code != 4xxAND response body is NOT validErrorjson
Continuous Bytes - Start Specified Without Chr¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, specifying a start position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/bytesendpoint raises an error whenstartis specified withoutchrRequest:
GET /continuous/bytes?format=loom&start=5
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous Bytes - End Specified Without Chr¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, specifying an end position without a chromosome. Expects a
400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/bytesendpoint raises an error whenendis specified withoutchrRequest:
GET /continuous/bytes?format=loom&end=1000
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "chr required if either start or end is specified"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous Bytes - Start Greater Than End¶
Route:
/continuous/bytesDescription: Requests joined continuous matrix as bytes, specifying
chr,start, andend, however,startposition is greater thanend. Expects a400 Bad Requeststatus code in the response, and an error messageRationale: Asserts that the
/continuous/bytesendpoint raises an error whenstartis greater thanendRequest:
GET /continuous/bytes?format=loom&chr=1&start=200&end=100
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 400 Bad Request
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
{
"message": "start cannot be greater than end"
}
Success Criteria:
Status Code == 400AND response body is validErrorjsonFailure Criteria:
Status Code != 400OR response body is NOT validErrorjson
Continuous API Non-Implemented Test Cases¶
Continuous Formats Not Implemented¶
Route:
/continuous/formatsDescription: If
Continuousendpoints areNot Implemented, then request/continuous/formats, expecting a501 Not Implementedstatus code responseRationale: Asserts that
Continuousrelated endpoints are correctly non-implementedRequest:
GET /continuous/formats
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
Success Criteria:
Status Code == 501Failure Criteria:
Status Code != 501
Continuous Ticket By Id Not Implemented¶
Route:
/continuous/<id>/ticketDescription: If
Continuousendpoints areNot Implemented, then request/continuous/<id>/ticket, expecting a501 Not Implementedstatus code responseRationale: Asserts that
Continuousrelated endpoints are correctly non-implementedRequest:
GET /continuous/nonexistentid9999999999999999999/ticket
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
Success Criteria:
Status Code == 501Failure Criteria:
Status Code != 501
Continuous Bytes By Id Not Implemented¶
Route:
/continuous/<id>/bytesDescription: If
Continuousendpoints areNot Implemented, then request/continuous/<id>/bytes, expecting a501 Not Implementedstatus code responseRationale: Asserts that
Continuousrelated endpoints are correctly non-implementedRequest:
GET /continuous/nonexistentid9999999999999999999/bytes
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
Success Criteria:
Status Code == 501Failure Criteria:
Status Code != 501
Continuous Filters Not Implemented¶
Route:
/continuous/filtersDescription: If
Continuousendpoints areNot Implemented, then request/continuous/filters, expecting a501 Not Implementedstatus code responseRationale: Asserts that
Continuousrelated endpoints are correctly non-implementedRequest:
GET /continuous/filters
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
Success Criteria:
Status Code == 501Failure Criteria:
Status Code != 501
Continuous Ticket Not Implemented¶
Route:
/continuous/ticketDescription: If
Continuousendpoints areNot Implemented, then request/continuous/ticket, expecting a501 Not Implementedstatus code responseRationale: Asserts that
Continuousrelated endpoints are correctly non-implementedRequest:
GET /continuous/ticket?format=loom
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Successful Response:
HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
Success Criteria:
Status Code == 501Failure Criteria:
Status Code != 501
Continuous Bytes Not Implemented¶
Route:
/continuous/bytesDescription: If
Continuousendpoints areNot Implemented, then request/continuous/bytes, expecting a501 Not Implementedstatus code responseRationale: Asserts that
Continuousrelated endpoints are correctly non-implementedRequest:
GET /continuous/bytes?format=loom
Accept: application/octet-stream, application/vnd.loom, text/tab-separated-values
Successful Response:
HTTP/1.1 501 Not Implemented
Content-Type: application/vnd.ga4gh.rnaget.v1.0.0+json
Success Criteria:
Status Code == 501Failure Criteria:
Status Code != 501
Continuous Content Tests¶
Continuous content tests assert that continuous matrices downloaded from the RNAget server contain the expected content based on the request. Continuous file tracks, positions, and intensity values are cross-referenced against the request to ensure the expected data has been returned.
Continuous Content Test Cases¶
Continuous Ticket by Id Content Test Cases¶
Route:
/continuous/<id>/ticketDescription: Download test continuous matrix by ticket multiple times (sometimes slicing by chr, start, end).
Rationale: Asserts correct matrix file is associated with the test continuous
id. Validates signal intensity values match expected. Validates returned columns/rows match expected based on slice parameters.Request:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/ticket
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Success Criteria: Test continuous matrix columns, rows, values match expected
Failure Criteria: Test continuous matrix columns, rows, values DO NOT match expected
Continuous Bytes by Id Content Test Cases¶
Route:
/continuous/<id>/bytesDescription: Download test continuous matrix bytes multiple times (sometimes slicing by chr, start, end).
Rationale: Asserts correct matrix file is associated with the test continuous
id. Validates signal intensity values match expected. Validates returned columns/rows match expected based on slice parameters.Request:
GET /continuous/5e22e009f41fc53cbea094a41de8798f/bytes
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Success Criteria: Test continuous matrix columns, rows, values match expected
Failure Criteria: Test continuous matrix columns, rows, values DO NOT match expected
Continuous Ticket Content Test Cases¶
Route:
/continuous/ticketDescription: Download joined continuous matrix by ticket multiple times (sometimes slicing by chr, start, end).
Rationale: Asserts joined matrix. Validates signal intensity values match expected. Validates returned columns/rows match expected based on slice parameters.
Request:
GET /continuous/ticket?format=loom
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Success Criteria: Joined continuous matrix columns, rows, values match expected
Failure Criteria: Joined continuous matrix columns, rows, values DO NOT match expected
Continuous Bytes Content Test Cases¶
Route:
/continuous/bytesDescription: Download joined continuous matrix as bytes multiple times (sometimes slicing by chr, start, end).
Rationale: Asserts joined matrix. Validates signal intensity values match expected. Validates returned columns/rows match expected based on slice parameters.
Request:
GET /continuous/bytes?format=loom
Accept: application/vnd.ga4gh.rnaget.v1.0.0+json, application/json
Success Criteria: Joined continuous matrix columns, rows, values match expected
Failure Criteria: Joined continuous matrix columns, rows, values DO NOT match expected