Implemented list project versions endpoint.
This commit is contained in:
@ -123,5 +123,31 @@ suite "strawboss server continued":
|
||||
|
||||
test "handle missing project configuration":
|
||||
let http = newAuthenticatedHttpClient(apibase, "bob@builder.com", "password")
|
||||
let resp = http.get(apiBase & "/projects/test-project-1")
|
||||
let resp = http.get(apiBase & "/projects/" & cfg.projects[0].name)
|
||||
check resp.status.startsWith("404")
|
||||
|
||||
test "gives 404 when no versions built":
|
||||
let http = newAuthenticatedHttpClient(apibase, "bob@builder.com", "password")
|
||||
let resp = http.get(apiBase & "/projects/" & cfg.projects[0].name & "/versions")
|
||||
check resp.status.startsWith("404")
|
||||
|
||||
test "GET /api/project/@projectName/versions":
|
||||
let projArtifactsDir = tmpArtifactsDir & "/" & cfg.projects[0].name
|
||||
let expectedVersions = @["alpha", "beta", "1.0.0", "1.0.1"]
|
||||
|
||||
# Touch configuration files
|
||||
createDir(projArtifactsDir)
|
||||
for v in expectedVersions:
|
||||
var f: File
|
||||
check open(f, projArtifactsDir & "/configuration." & v & ".json", fmWrite)
|
||||
close(f)
|
||||
|
||||
let http = newAuthenticatedHttpClient(apibase, "bob@builder.com", "password")
|
||||
let resp = http.get(apiBase & "/project/" & cfg.projects[0].name & "/versions")
|
||||
let returnedVersions = parseJson(resp.body).getElems.mapIt(it.getStr)
|
||||
check sameContents(expectedVersions, returnedVersions)
|
||||
|
||||
# Last-chance catch to kill the server in case some test err'ed and didn't
|
||||
# reach it's teardown handler
|
||||
discard newAsyncHttpClient().post(apiBase & "/service/debug/stop")
|
||||
|
||||
|
Reference in New Issue
Block a user