|
|
Package tests contains REST API tests for following endpoints:
apiPrefix
|
package tests
import (
"github.com/verdverm/frisby"
)
|
checkRestAPIEntryPoint check if the entry point (usually /api/v1/) responds correctly to HTTP GET command
|
func checkRestAPIEntryPoint ( ) {
f := frisby . Create ( "Check the entry point to REST API using HTTP GET method" ) . Get ( apiURL )
setAuthHeader ( f )
f . Send ( )
f . ExpectStatus ( 200 )
f . ExpectHeader ( contentTypeHeader , ContentTypeJSON )
f . PrintReport ( )
}
|
checkNonExistentEntryPoint check whether non-existing endpoints are handled properly (HTTP code 404 etc.)
|
func checkNonExistentEntryPoint ( ) {
f := frisby . Create ( "Check the non-existent entry point to REST API" ) . Get ( apiURL + "foobar" )
setAuthHeader ( f )
f . Send ( )
f . ExpectStatus ( 404 )
f . ExpectHeader ( contentTypeHeader , ContentTypeText )
f . PrintReport ( )
}
|
checkWrongEntryPoint check whether wrongly specified URLs are handled correctly
|
func checkWrongEntryPoint ( ) {
postfixes := [ ... ] string { ".." , "../" , "..." , "..?" , "..?foobar" }
for _ , postfix := range postfixes {
f := frisby . Create ( "Check the wrong entry point to REST API with postfix '" + postfix + "'" ) . Get ( apiURL + postfix )
setAuthHeader ( f )
f . Send ( )
f . ExpectStatus ( 404 )
f . ExpectHeader ( contentTypeHeader , ContentTypeText )
f . PrintReport ( )
}
}
|
check whether other HTTP methods are rejected correctly for the REST API entry point
|
func checkWrongMethodsForEntryPoint ( ) {
checkGetEndpointByOtherMethods ( apiURL , false )
}
|