add more args for http container test
Signed-off-by: jffarge <slumbering.pierrot@gmail.com>
This commit is contained in:
parent
b94b8c0c70
commit
04781f4e07
@ -2,7 +2,7 @@ package http
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strconv"
|
// "strconv"
|
||||||
|
|
||||||
"alpha.dagger.io/alpine"
|
"alpha.dagger.io/alpine"
|
||||||
"alpha.dagger.io/dagger"
|
"alpha.dagger.io/dagger"
|
||||||
@ -32,6 +32,7 @@ import (
|
|||||||
shell: path: "/bin/bash"
|
shell: path: "/bin/bash"
|
||||||
always: true
|
always: true
|
||||||
|
|
||||||
|
|
||||||
env: {
|
env: {
|
||||||
METHOD: method
|
METHOD: method
|
||||||
HEADERS: json.Marshal(request.header)
|
HEADERS: json.Marshal(request.header)
|
||||||
@ -47,15 +48,15 @@ import (
|
|||||||
-L --fail --silent --show-error
|
-L --fail --silent --show-error
|
||||||
--write-out "%{http_code}"
|
--write-out "%{http_code}"
|
||||||
-X "$METHOD"
|
-X "$METHOD"
|
||||||
-d "$BODY"
|
|
||||||
-o /response
|
-o /response
|
||||||
)
|
)
|
||||||
|
|
||||||
|
[ -n "$BODY" ] && curlArgs+=("-d" "'$BODY'")
|
||||||
|
|
||||||
headers="$(echo $HEADERS | jq -r 'to_entries | map(.key + ": " + (.value | tostring) + "\n") | add')"
|
headers="$(echo $HEADERS | jq -r 'to_entries | map(.key + ": " + (.value | tostring) + "\n") | add')"
|
||||||
while read h; do
|
while read h; do
|
||||||
curlArgs+=("-H" "$h")
|
curlArgs+=("-H" "'$h'")
|
||||||
done <<< "$headers"
|
done <<< "$headers"
|
||||||
|
|
||||||
if [ -e /token ]; then
|
if [ -e /token ]; then
|
||||||
curlArgs+=("-H" "Authorization: bearer $(cat /token)")
|
curlArgs+=("-H" "Authorization: bearer $(cat /token)")
|
||||||
fi
|
fi
|
||||||
@ -71,11 +72,11 @@ import (
|
|||||||
path: "/response"
|
path: "/response"
|
||||||
}
|
}
|
||||||
}.contents @dagger(output)
|
}.contents @dagger(output)
|
||||||
statusCode: strconv.Atoi({
|
statusCode: {
|
||||||
os.#File & {
|
os.#File & {
|
||||||
from: ctr
|
from: ctr
|
||||||
path: "/status"
|
path: "/status"
|
||||||
}
|
}
|
||||||
}.contents) @dagger(output)
|
}.contents @dagger(output)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
package http
|
package http
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
// "encoding/json"
|
||||||
|
// "strconv"
|
||||||
|
|
||||||
"alpha.dagger.io/alpine"
|
"alpha.dagger.io/alpine"
|
||||||
"alpha.dagger.io/os"
|
"alpha.dagger.io/os"
|
||||||
@ -12,31 +13,27 @@ TestRequest: {
|
|||||||
url: "https://api.github.com/"
|
url: "https://api.github.com/"
|
||||||
request: header: {
|
request: header: {
|
||||||
Accept: "application/json"
|
Accept: "application/json"
|
||||||
Test: ["A", "B"]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testRaw: os.#Container & {
|
testRaw: os.#Container & {
|
||||||
image: alpine.#Image & {
|
image: alpine.#Image & {
|
||||||
package: jq: "~=1.6"
|
package: jq: "~=1.6"
|
||||||
|
package: bash: true
|
||||||
}
|
}
|
||||||
env: STATUS: "\(req.response.statusCode)"
|
env: STATUS: "\(req.response.statusCode)"
|
||||||
files: "/content.json": {
|
files: "/content.json": {
|
||||||
content: req.response.body
|
content: req.response.body
|
||||||
mode: 0o500
|
mode: 0o500
|
||||||
}
|
}
|
||||||
command: #"""
|
shell: {
|
||||||
test "$STATUS" = 200
|
args: ["--noprofile", "--norc", "-eo", "pipefail", "-c"]
|
||||||
test "$(cat /content.json | jq -r .current_user_url)" = "https://api.github.com/user"
|
}
|
||||||
"""#
|
command: #Command
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testJSON: os.#Container & {
|
#Command: #"""
|
||||||
env: STATUS: "\(req.response.statusCode)"
|
test "$(cat /content.json | jq -r .current_user_url)" = 'https://api.github.com/user'
|
||||||
env: CONTENT: json.Unmarshal(req.response.body).current_user_url
|
test "$STATUS" = "200"
|
||||||
command: """
|
"""#
|
||||||
test "$STATUS" = 200
|
|
||||||
test "$CONTENT" = "https://api.github.com/user"
|
|
||||||
"""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Reference in New Issue
Block a user