Refget Reference Implementation Report

Back to results

Test Details

Server
https://refget.herokuapp.com/
Date run
2021-06-14 18:19:58.188287
Tests passed
29
Tests failed
0
Tests skipped
1
GitHub
https://github.com/andrewyatz/refget-server-perl

Test Results


Service info

Result Description Response
Pass Test to check if info-endpoint returns 200 OK without headers Info endpoint implemented with default encoding
Pass Test to check if info-endpoint has circular in the response object. And if it is there it updates session_params['circular'] as per the value circular key in info response object
Pass Test to check if info-endpoint has algorithms in the response object. And if it is there it updates session_params['trunc512'] as per the value algorithms key in info response object
Pass Test to check if info-endpoint has subsequence_limit in the response object. If the key is present we update session_params['subsequence_limit'] as per the value subsequence_limit key in info response object
Pass Test to check if info-endpoint has supported_api_versions in the response object. supported_api_versions key in info response object

Metadata

Result Description Response
Pass Test if metadata endpoint returns 200 using circular test sequence if the server supports circular sequences. Value stored in session_params. If not skip test and set skip text appropriately Circular sequence metadata can be retrieved
Pass Test if metadata endpoint returns 200 using trunc512 with I test sequence if the server supports. Value stored in session_params. If not skip test and set skip text appropriately TRUNC512 algorithm is working in the server for metadata endpoint
Pass Test if trunc512 in metadata response object. Skip if server does not support trunc512 trunc512 key in metadata response object
Pass Test if metadata endpoint returns 200 without headers using I test sequence Metadata endpoint implemented with default encoding
Pass Test if md5 in metadata response object md5 key in metadata response object
Pass Test if length in metadata response object length key in metadata response object
Pass Test if aliases in metadata response object aliases key in metadata response object
Pass Test if 404 on invalid checksum in metadata response Server is correctly sending 404 on invalid checksum
Pass Test if 406 on invalid encoding in Accept header Server is correctly sending 406 on invalid encoding

Sequence

Result Description Response
Pass Test to check if server passes all the edge cases related to circular queries Circular sequence can be retrieved successfully passing all the edge cases
Pass
API call: sequence/3332ed720ac7eaa9b3655c06f6b9e196?start=5374&end=5:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/3332ed720ac7eaa9b3655c06f6b9e196?start=5374&end=0:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/3332ed720ac7eaa9b3655c06f6b9e196?start=5380&end=25:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Warn Test to check if server throws correct error codes on circular sequence query if server does not support circular sequences test_sequence_circular_support_false_errors is skipped because server supports circular sequences
Pass Test to check if server throws correct error codes on circular sequence query if server supports circular sequences Server is correctly throwing for error cases of circular sequences when server supports circular sequences
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:?start=220218&end=671
Pass Test to check if server returns 200 using I test sequence trunc512 and appropriate headers if the server supports trunc512 TRUNC512 algorithm is working in the server for sequence endpoint
Pass Test to check if server returns 200 using I test sequence and no headers Sequence endpoint implemented with default encoding
Pass Test to check if server returns 200 and appropriate text using I test sequence and start/end query params set to 10 and 20 respectively Server supports start end query params
Pass Test to check if server returns 200 and appropriate text using I test sequence and range header set to 10 and 19 respectively Server supports range header
Pass Test to check if server returns 404 using some garbage checksum and appropriate headers Server is correctly sending 404 on invalid checksum
Pass Test to check if server returns 200 using I test sequence and garbage encoding in Accept header Server is correctly sending 406 on invalid encoding

Sequence range

Result Description Response
Pass Test to check if server passes all the edge cases related to range header success queries Server passed all the success edge cases with range header query
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=10-19:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=10-230217:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=10-999999:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=0-230217:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=0-999999:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=0-0:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass
API call: sequence/6681ac2f62509cfc220d78751b8dc524:bytes=230217-230217:{'Accept': 'text/vnd.ga4gh.refget.v1.0.0+plain'}
Pass Test to check if server passes all the edge cases related range error cases Server is correctly throwing errors for range error cases
Pass
API call: 6681ac2f62509cfc220d78751b8dc524:units=20-30
Pass
API call: 6681ac2f62509cfc220d78751b8dc524:bytes=ab-19
Pass
API call: 6681ac2f62509cfc220d78751b8dc524:bytes=-10--19
Pass
API call: 6681ac2f62509cfc220d78751b8dc524:bytes=10--19
Pass
API call: 6681ac2f62509cfc220d78751b8dc524:bytes=-10-
Pass
API call: 6681ac2f62509cfc220d78751b8dc524:bytes==10-19
Pass
API call: 3332ed720ac7eaa9b3655c06f6b9e196:bytes=5200-19
Pass
API call: 3332ed720ac7eaa9b3655c06f6b9e196:bytes=59-50
Pass
API call: 3332ed720ac7eaa9b3655c06f6b9e196:bytes=5385-5382
Pass
API call: 3332ed720ac7eaa9b3655c06f6b9e196:bytes=5387-5391
Pass
API call: 3332ed720ac7eaa9b3655c06f6b9e196:bytes=5386-5387
Pass
API call: 3332ed720ac7eaa9b3655c06f6b9e196:bytes=9999-99999