This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/pkg/alpha.dagger.io/graphql/tests/graphql.cue

56 lines
1.1 KiB
CUE
Raw Normal View History

package graphql
import (
"encoding/json"
"alpha.dagger.io/alpine"
"alpha.dagger.io/dagger"
"alpha.dagger.io/docker"
"alpha.dagger.io/os"
"alpha.dagger.io/http"
)
TestDockersocket: dagger.#Stream & dagger.#Input
TestQuery: {
run: docker.#Run & {
name: "graphql-faker"
ref: "apisguru/graphql-faker"
socket: TestDockersocket
ports: ["8080:9002"]
}
// Waits for TestRun to finish initializing
Testhealth: http.#Wait & {
url: "http://localhost:8080/graphql?query={%7BallCompanies%20%7B%0A%20%20%20%20id%0A%20%20%7D%0A%7D}"
}
queryWithoutToken: #Query & {
url: Testhealth.url
query: #"""
{
company(id: "NjExNjAwMjE5Nw==") {
id
}
}
"""#
}
testRaw: os.#Container & {
image: alpine.#Image & {
package: jq: true
}
env: STATUS: "\(queryWithoutToken.post.response.statusCode)"
shell: args: ["--noprofile", "--norc", "-eo", "pipefail", "-c"]
files: "/content.json": {
content: json.Marshal(queryWithoutToken.data)
mode: 0o500
}
command: #"""
test "$STATUS" = "200"
test "$(cat /content.json | jq '.allCompanies | length')" -gt 1
"""#
}
}