Remove pre-release HTTP compatibility surface
This commit is contained in:
parent
15eb0038d2
commit
f28810ea33
2 changed files with 104 additions and 329 deletions
|
|
@ -278,17 +278,6 @@ spec:
|
|||
grep -F '"ok":true'
|
||||
curl --insecure --fail --silent --show-error "$base/readyz" |
|
||||
grep -F '"ready":true'
|
||||
curl --insecure --fail --silent --show-error "$base/nuthatch.js" |
|
||||
grep -F 'nuthatch'
|
||||
{
|
||||
curl --insecure --fail --silent --show-error "$base/nuthatch.js"
|
||||
curl --insecure --silent --show-error "$base/login"
|
||||
} > /tmp/browser-visible
|
||||
if grep -Ei \
|
||||
'NUTHATCH_S3|AWS_ACCESS_KEY|AWS_SECRET_ACCESS_KEY|client_secret' \
|
||||
/tmp/browser-visible; then
|
||||
exit 1
|
||||
fi
|
||||
test "$(
|
||||
curl --insecure --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
|
|
@ -299,11 +288,11 @@ spec:
|
|||
curl --insecure --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
"$base/"
|
||||
)" = 303
|
||||
)" = 404
|
||||
test "$(
|
||||
curl --insecure --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
"$base/download?root=personal&path=unauthenticated"
|
||||
"$base/api/download?root=personal&path=unauthenticated"
|
||||
)" = 303
|
||||
unauthenticated_digest="$(
|
||||
printf x | sha256sum | cut -d' ' -f1
|
||||
|
|
@ -315,14 +304,14 @@ spec:
|
|||
--header "X-Content-SHA256: $unauthenticated_digest" \
|
||||
--header 'X-CSRF-Token: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' \
|
||||
--data x \
|
||||
"$base/upload?root=personal&path=unauthenticated&operation_id=40000000-0000-4000-8000-000000000001"
|
||||
"$base/api/upload?root=personal&path=unauthenticated&operation_id=40000000-0000-4000-8000-000000000001"
|
||||
)" = 303
|
||||
test "$(
|
||||
curl --insecure --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{"root":"personal","path":"unauthenticated","operation_id":"40000000-0000-4000-8000-000000000002","csrf":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' \
|
||||
"$base/delete"
|
||||
"$base/api/delete"
|
||||
)" = 303
|
||||
test "$(
|
||||
curl --insecure --silent --output /dev/null \
|
||||
|
|
@ -330,7 +319,7 @@ spec:
|
|||
--header 'Content-Type: application/json' \
|
||||
--data '{"root":"personal","path":"unauthenticated","csrf":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}' \
|
||||
"$base/delete-prefix"
|
||||
)" = 303
|
||||
)" = 404
|
||||
test "$(
|
||||
curl --insecure --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
|
|
@ -348,14 +337,14 @@ spec:
|
|||
curl --insecure --silent --output /tmp/authenticated.body \
|
||||
--write-out '%{http_code}' \
|
||||
--cookie "$cookies" \
|
||||
"$base/"
|
||||
"$base/api/browse"
|
||||
)"
|
||||
printf 'Authenticated browse status=%s\n' "$authenticated_status"
|
||||
test "$authenticated_status" = 200
|
||||
curl --insecure --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
--header 'Accept: application/json' \
|
||||
"$base/" >/tmp/authenticated.json
|
||||
"$base/api/browse" >/tmp/authenticated.json
|
||||
if grep -Ei \
|
||||
'NUTHATCH_S3|AWS_ACCESS_KEY|AWS_SECRET_ACCESS_KEY|client_secret' \
|
||||
/tmp/authenticated.body /tmp/authenticated.json; then
|
||||
|
|
@ -514,6 +503,11 @@ spec:
|
|||
/tmp/product-asset.headers >/dev/null
|
||||
grep -i '^x-content-type-options: *nosniff' \
|
||||
/tmp/product-asset.headers >/dev/null
|
||||
if grep -Ei \
|
||||
'NUTHATCH_S3|AWS_ACCESS_KEY|AWS_SECRET_ACCESS_KEY|client_secret' \
|
||||
/tmp/product-app.html /tmp/product-asset.js; then
|
||||
exit 1
|
||||
fi
|
||||
for marker in \
|
||||
'Drop a file here' \
|
||||
'Shared root' \
|
||||
|
|
@ -768,7 +762,7 @@ spec:
|
|||
first_size="$(wc -c </tmp/epoch-one | tr -d ' ')"
|
||||
first_digest="$(sha256sum /tmp/epoch-one | cut -d' ' -f1)"
|
||||
operation=73000000-0000-4000-8000-000000000001
|
||||
mutation_url="$base/upload?root=personal&path=idempotency.txt&operation_id=$operation"
|
||||
mutation_url="$base/api/upload?root=personal&path=idempotency.txt&operation_id=$operation"
|
||||
pod_curl "$NUTHATCH_IDEMPOTENCY_IP_A" \
|
||||
--fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
|
|
@ -880,7 +874,7 @@ spec:
|
|||
pod_curl "$NUTHATCH_IDEMPOTENCY_IP_A" \
|
||||
--fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=idempotency.txt" \
|
||||
"$base/api/download?root=personal&path=idempotency.txt" \
|
||||
>/tmp/epoch-download
|
||||
cmp "$epoch_two_body" /tmp/epoch-download
|
||||
|
||||
|
|
@ -890,7 +884,7 @@ spec:
|
|||
sha256sum /tmp/active-body | cut -d' ' -f1
|
||||
)"
|
||||
active_operation=73000000-0000-4000-8000-000000000002
|
||||
active_url="$base/upload?root=personal&path=active-window.bin&operation_id=$active_operation"
|
||||
active_url="$base/api/upload?root=personal&path=active-window.bin&operation_id=$active_operation"
|
||||
(
|
||||
dd if=/tmp/active-body bs=65536 count=1 status=none
|
||||
sleep 5
|
||||
|
|
@ -929,7 +923,7 @@ spec:
|
|||
--header "X-Content-SHA256: $first_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/epoch-one \
|
||||
"$base/upload?root=personal&path=active-window.bin&operation_id=73000000-0000-4000-8000-000000000003"
|
||||
"$base/api/upload?root=personal&path=active-window.bin&operation_id=73000000-0000-4000-8000-000000000003"
|
||||
)"
|
||||
printf 'Active key lock status=%s body=' "$lock_status"
|
||||
cat /tmp/active-lock.json
|
||||
|
|
@ -983,7 +977,7 @@ spec:
|
|||
--header "X-CSRF-Token: $csrf" \
|
||||
--request POST \
|
||||
--upload-file - \
|
||||
"$base/upload?root=personal&path=streaming-large.bin&operation_id=70000000-0000-4000-8000-000000000001"
|
||||
"$base/api/upload?root=personal&path=streaming-large.bin&operation_id=70000000-0000-4000-8000-000000000001"
|
||||
)"
|
||||
printf 'Large upload status=%s\n' "$status"
|
||||
test "$status" = 200
|
||||
|
|
@ -992,7 +986,7 @@ spec:
|
|||
download_digest="$(
|
||||
curl --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=streaming-large.bin" |
|
||||
"$base/api/download?root=personal&path=streaming-large.bin" |
|
||||
sha256sum |
|
||||
cut -d' ' -f1
|
||||
)"
|
||||
|
|
@ -1013,7 +1007,7 @@ spec:
|
|||
--header "X-Content-SHA256: $large_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/tiny \
|
||||
"$base/upload?root=personal&path=streaming-large.bin&operation_id=70000000-0000-4000-8000-000000000007"
|
||||
"$base/api/upload?root=personal&path=streaming-large.bin&operation_id=70000000-0000-4000-8000-000000000007"
|
||||
)"
|
||||
test "$status" = 200
|
||||
grep -F '"result":"succeeded"' \
|
||||
|
|
@ -1029,7 +1023,7 @@ spec:
|
|||
--header "X-Content-SHA256: $tiny_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/tiny \
|
||||
"$base/upload?root=personal&path=size-mismatch.bin&operation_id=70000000-0000-4000-8000-000000000002"
|
||||
"$base/api/upload?root=personal&path=size-mismatch.bin&operation_id=70000000-0000-4000-8000-000000000002"
|
||||
)"
|
||||
printf 'Size mismatch status=%s body=' "$status"
|
||||
cat /tmp/size-mismatch.json
|
||||
|
|
@ -1046,7 +1040,7 @@ spec:
|
|||
--header "X-Content-SHA256: $(printf '%064d' 0)" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/tiny \
|
||||
"$base/upload?root=personal&path=identity-mismatch.bin&operation_id=70000000-0000-4000-8000-000000000003"
|
||||
"$base/api/upload?root=personal&path=identity-mismatch.bin&operation_id=70000000-0000-4000-8000-000000000003"
|
||||
)"
|
||||
printf 'Identity mismatch status=%s body=' "$status"
|
||||
cat /tmp/identity-mismatch.json
|
||||
|
|
@ -1069,7 +1063,7 @@ spec:
|
|||
--header "X-CSRF-Token: $csrf" \
|
||||
--request POST \
|
||||
--upload-file - \
|
||||
"$base/upload?root=personal&path=too-large.bin&operation_id=70000000-0000-4000-8000-000000000004"
|
||||
"$base/api/upload?root=personal&path=too-large.bin&operation_id=70000000-0000-4000-8000-000000000004"
|
||||
)"
|
||||
printf 'Over-limit status=%s body=' "$status"
|
||||
cat /tmp/too-large.json
|
||||
|
|
@ -1089,7 +1083,7 @@ spec:
|
|||
--header "X-CSRF-Token: $csrf" \
|
||||
--request POST \
|
||||
--upload-file - \
|
||||
"$base/upload?root=personal&path=aborted-upload.bin&operation_id=70000000-0000-4000-8000-000000000005" \
|
||||
"$base/api/upload?root=personal&path=aborted-upload.bin&operation_id=70000000-0000-4000-8000-000000000005" \
|
||||
>/tmp/aborted-upload.json; then
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -1097,7 +1091,7 @@ spec:
|
|||
curl --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=aborted-upload.bin"
|
||||
"$base/api/download?root=personal&path=aborted-upload.bin"
|
||||
)"
|
||||
printf 'Aborted upload lookup status=%s\n' \
|
||||
"$aborted_upload_status"
|
||||
|
|
@ -1112,7 +1106,7 @@ spec:
|
|||
--header "X-Content-SHA256: $large_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/tiny \
|
||||
"$base/upload?root=personal&path=aborted-upload.bin&operation_id=70000000-0000-4000-8000-000000000005"
|
||||
"$base/api/upload?root=personal&path=aborted-upload.bin&operation_id=70000000-0000-4000-8000-000000000005"
|
||||
)"
|
||||
printf 'Aborted upload replay status=%s body=' "$status"
|
||||
cat /tmp/aborted-upload-replay.json
|
||||
|
|
@ -1132,14 +1126,14 @@ spec:
|
|||
--header "X-CSRF-Token: $csrf" \
|
||||
--request POST \
|
||||
--upload-file - \
|
||||
"$base/upload?root=personal&path=streaming-large.bin&operation_id=70000000-0000-4000-8000-000000000006" \
|
||||
"$base/api/upload?root=personal&path=streaming-large.bin&operation_id=70000000-0000-4000-8000-000000000006" \
|
||||
>/tmp/aborted-overwrite.json; then
|
||||
exit 1
|
||||
fi
|
||||
preserved_digest="$(
|
||||
curl --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=streaming-large.bin" |
|
||||
"$base/api/download?root=personal&path=streaming-large.bin" |
|
||||
sha256sum |
|
||||
cut -d' ' -f1
|
||||
)"
|
||||
|
|
@ -1148,7 +1142,7 @@ spec:
|
|||
--max-time 1 \
|
||||
--limit-rate 64k \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=streaming-large.bin" \
|
||||
"$base/api/download?root=personal&path=streaming-large.bin" \
|
||||
>/tmp/aborted-download; then
|
||||
exit 1
|
||||
fi
|
||||
|
|
@ -1178,7 +1172,7 @@ spec:
|
|||
--header "X-Content-SHA256: $joint_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/joint-upload \
|
||||
"$base/upload?root=personal&path=joint-throttle.bin&operation_id=70000000-0000-4000-8000-000000000013"
|
||||
"$base/api/upload?root=personal&path=joint-throttle.bin&operation_id=70000000-0000-4000-8000-000000000013"
|
||||
)"
|
||||
test "$status" = 200
|
||||
grep -F '"result":"succeeded"' /tmp/joint-upload.json
|
||||
|
|
@ -1197,7 +1191,7 @@ spec:
|
|||
--header "X-Content-SHA256: $upload_digest" \
|
||||
--header "X-CSRF-Token: $csrf_b" \
|
||||
--data-binary @/tmp/throttle-upload \
|
||||
"$base/upload?root=personal&path=throttled-upload.bin&operation_id=71000000-0000-4000-8000-000000000001"
|
||||
"$base/api/upload?root=personal&path=throttled-upload.bin&operation_id=71000000-0000-4000-8000-000000000001"
|
||||
)"
|
||||
test "$status" = 429
|
||||
grep -F '"error":"bandwidth_exceeded"' /tmp/throttle-upload.json
|
||||
|
|
@ -1211,15 +1205,15 @@ spec:
|
|||
--header "X-Content-SHA256: $upload_digest" \
|
||||
--header "X-CSRF-Token: $csrf_b" \
|
||||
--data-binary @/tmp/tiny \
|
||||
"$base/upload?root=personal&path=prestart.bin&operation_id=71000000-0000-4000-8000-000000000002"
|
||||
"$base/api/upload?root=personal&path=prestart.bin&operation_id=71000000-0000-4000-8000-000000000002"
|
||||
)" = 429
|
||||
|
||||
curl --silent --show-error --cookie "$cookies" \
|
||||
"$base/download?root=personal&path=streaming-large.bin" \
|
||||
"$base/api/download?root=personal&path=streaming-large.bin" \
|
||||
>/tmp/parallel-a &
|
||||
first_pid=$!
|
||||
curl --silent --show-error --cookie "$cookies" \
|
||||
"$base/download?root=personal&path=streaming-large.bin" \
|
||||
"$base/api/download?root=personal&path=streaming-large.bin" \
|
||||
>/tmp/parallel-b &
|
||||
second_pid=$!
|
||||
first_ok=true
|
||||
|
|
@ -1244,7 +1238,7 @@ spec:
|
|||
curl --silent --output /tmp/prestart-download.json \
|
||||
--write-out '%{http_code}' \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=streaming-large.bin"
|
||||
"$base/api/download?root=personal&path=streaming-large.bin"
|
||||
)"
|
||||
printf 'Post-exhaustion download status=%s\n' "$prestart_status"
|
||||
test "$prestart_status" = 429
|
||||
|
|
@ -1275,7 +1269,7 @@ spec:
|
|||
--header "X-Content-SHA256: $refill_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/refill-upload \
|
||||
"$base/upload?root=personal&path=refill-$suffix.bin&operation_id=$refill_operation"
|
||||
"$base/api/upload?root=personal&path=refill-$suffix.bin&operation_id=$refill_operation"
|
||||
)"
|
||||
test "$status" = 200
|
||||
grep -F '"result":"succeeded"' "/tmp/refill-$suffix.json"
|
||||
|
|
@ -1289,7 +1283,7 @@ spec:
|
|||
--header "X-Content-SHA256: $refill_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/refill-upload \
|
||||
"$base/upload?root=personal&path=refill-exhausted.bin&operation_id=72000000-0000-4000-8000-000000000003"
|
||||
"$base/api/upload?root=personal&path=refill-exhausted.bin&operation_id=72000000-0000-4000-8000-000000000003"
|
||||
)" = 429
|
||||
fi
|
||||
done
|
||||
|
|
@ -1329,7 +1323,7 @@ spec:
|
|||
--header "X-Content-SHA256: $tiny_digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/tiny \
|
||||
"$base/upload?root=personal&path=unavailable.bin&operation_id=72000000-0000-4000-8000-000000000001"
|
||||
"$base/api/upload?root=personal&path=unavailable.bin&operation_id=72000000-0000-4000-8000-000000000001"
|
||||
)" = 503
|
||||
grep -F '"error":"throttle_unavailable"' \
|
||||
/tmp/unavailable-upload.json
|
||||
|
|
@ -1337,7 +1331,7 @@ spec:
|
|||
curl --silent --output /tmp/unavailable-download.json \
|
||||
--write-out '%{http_code}' \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=personal&path=$unavailable_path"
|
||||
"$base/api/download?root=personal&path=$unavailable_path"
|
||||
)" = 503
|
||||
grep -F '"error":"throttle_unavailable"' \
|
||||
/tmp/unavailable-download.json
|
||||
|
|
@ -1363,7 +1357,7 @@ spec:
|
|||
--header "X-Content-SHA256: $digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/body \
|
||||
"$base/upload?root=$root&path=smoke-$suffix.txt&operation_id=00000000-0000-4000-8000-0000000000${suffix}"
|
||||
"$base/api/upload?root=$root&path=smoke-$suffix.txt&operation_id=00000000-0000-4000-8000-0000000000${suffix}"
|
||||
)"
|
||||
printf 'Upload %s status=%s\n' "$root" "$upload_status"
|
||||
test "$upload_status" = 200
|
||||
|
|
@ -1371,11 +1365,11 @@ spec:
|
|||
curl --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
--header 'Accept: application/json' \
|
||||
"$base/?root=$root" |
|
||||
"$base/api/browse?root=$root" |
|
||||
grep -F "smoke-$suffix.txt"
|
||||
curl --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=$root&path=smoke-$suffix.txt" >/tmp/download
|
||||
"$base/api/download?root=$root&path=smoke-$suffix.txt" >/tmp/download
|
||||
test "$(cat /tmp/download)" = "$first"
|
||||
|
||||
printf '%s' "$second" >/tmp/body
|
||||
|
|
@ -1388,22 +1382,22 @@ spec:
|
|||
--header "X-Content-SHA256: $digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/body \
|
||||
"$base/upload?root=$root&path=smoke-$suffix.txt&operation_id=10000000-0000-4000-8000-0000000000${suffix}" |
|
||||
"$base/api/upload?root=$root&path=smoke-$suffix.txt&operation_id=10000000-0000-4000-8000-0000000000${suffix}" |
|
||||
grep -F '"result":"succeeded"'
|
||||
curl --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=$root&path=smoke-$suffix.txt" >/tmp/download
|
||||
"$base/api/download?root=$root&path=smoke-$suffix.txt" >/tmp/download
|
||||
test "$(cat /tmp/download)" = "$second"
|
||||
|
||||
curl --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data "{\"root\":\"$root\",\"path\":\"smoke-$suffix.txt\",\"operation_id\":\"20000000-0000-4000-8000-0000000000${suffix}\",\"csrf\":\"$csrf\"}" \
|
||||
"$base/delete" |
|
||||
"$base/api/delete" |
|
||||
grep -F '"result":"succeeded"'
|
||||
if curl --fail --silent \
|
||||
--cookie "$cookies" \
|
||||
"$base/download?root=$root&path=smoke-$suffix.txt" >/dev/null; then
|
||||
"$base/api/download?root=$root&path=smoke-$suffix.txt" >/dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
|
@ -1420,7 +1414,7 @@ spec:
|
|||
--header "X-Content-SHA256: $digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/body \
|
||||
"$base/upload?root=personal&path=cross-user.txt&operation_id=30000000-0000-4000-8000-000000000001" |
|
||||
"$base/api/upload?root=personal&path=cross-user.txt&operation_id=30000000-0000-4000-8000-000000000001" |
|
||||
grep -F '"result":"succeeded"'
|
||||
curl --insecure --fail --silent --show-error \
|
||||
--cookie "$cookies" \
|
||||
|
|
@ -1429,7 +1423,7 @@ spec:
|
|||
--header "X-Content-SHA256: $digest" \
|
||||
--header "X-CSRF-Token: $csrf" \
|
||||
--data-binary @/tmp/body \
|
||||
"$base/upload?root=shared&path=cross-user.txt&operation_id=30000000-0000-4000-8000-000000000002" |
|
||||
"$base/api/upload?root=shared&path=cross-user.txt&operation_id=30000000-0000-4000-8000-000000000002" |
|
||||
grep -F '"result":"succeeded"'
|
||||
|
||||
csrf_b="$(login "$NUTHATCH_OIDC_USER_B" b)"
|
||||
|
|
@ -1472,14 +1466,14 @@ spec:
|
|||
if curl --insecure --fail --silent --show-error \
|
||||
--cookie /tmp/cookies-b \
|
||||
--header 'Accept: application/json' \
|
||||
"$base/?root=personal" |
|
||||
"$base/api/browse?root=personal" |
|
||||
grep -F cross-user.txt; then
|
||||
exit 1
|
||||
fi
|
||||
curl --insecure --fail --silent --show-error \
|
||||
--cookie /tmp/cookies-b \
|
||||
--header 'Accept: application/json' \
|
||||
"$base/?root=shared" |
|
||||
"$base/api/browse?root=shared" |
|
||||
grep -F cross-user.txt
|
||||
|
||||
if curl --insecure --fail --silent \
|
||||
|
|
@ -1507,7 +1501,7 @@ spec:
|
|||
curl --insecure --silent --output /dev/null \
|
||||
--write-out '%{http_code}' \
|
||||
--cookie "$cookies" \
|
||||
"$base/"
|
||||
"$base/api/browse"
|
||||
)" = 303
|
||||
printf 'OIDC app smoke passed\n'
|
||||
env:
|
||||
|
|
|
|||
|
|
@ -51,7 +51,11 @@ if grep -Eiq '\b(TODO|TBD|unresolved|open question)\b' "$document"; then
|
|||
fi
|
||||
|
||||
grep -F 'e0240ab33521a1882fb647a79f7fd3c74c9b6348b29bdb14e572204517882859' "$document" >/dev/null
|
||||
grep -F 'Public `GET /nuthatch.js`' "$document" >/dev/null
|
||||
grep -F 'Authenticated `/api/session`, `/api/browse`, `/api/download`' "$document" >/dev/null
|
||||
if grep -Fq '/nuthatch.js' "$document"; then
|
||||
printf '%s\n' "Durable contracts contain a removed browser bridge" >&2
|
||||
exit 1
|
||||
fi
|
||||
grep -F '`nuthatch-sha256`' "$document" >/dev/null
|
||||
grep -F '`x-amz-meta-nuthatch-sha256`' "$document" >/dev/null
|
||||
grep -F 'always streams the full body and computes its digest' "$document" >/dev/null
|
||||
|
|
|
|||
Loading…
Reference in a new issue