Skip to content

feat(tools/healthcare): fix birthdate parameter in fhir patient search#1819

Merged
Quarz0 merged 6 commits into
googleapis:healthcarefrom
Quarz0:healthcare
Oct 30, 2025
Merged

feat(tools/healthcare): fix birthdate parameter in fhir patient search#1819
Quarz0 merged 6 commits into
googleapis:healthcarefrom
Quarz0:healthcare

feat(tools/healthcare): fix birthdate parameter in fhir patient search

8260bdc
Select commit
Loading
Failed to load commit list.
Google Cloud Build / integration-test-pr (toolbox-testing-438616) failed Oct 29, 2025 in 3m 21s

Summary

Build Information

Trigger integration-test-pr
Build 8afc6dce-bcdd-4b49-92a1-84baea5796ea
Start 2025-10-29T14:19:11-07:00
Duration 1m49.02s
Status FAILURE

Steps

Step Status Duration
install-dependencies SUCCESS 24.062s
compile-test-binary SUCCESS 59.666s
cloud-sql-pg SUCCESS 18.264s
alloydb SUCCESS 9.641s
alloydb-pg SUCCESS 18.992s
alloydb-ai-nl SUCCESS 10.302s
bigtable SUCCESS 13.791s
bigquery CANCELLED 20.468s
dataplex CANCELLED 20.469s
dataform CANCELLED 20.468s
healthcare CANCELLED 20.468s
postgres FAILURE 20.026s
spanner CANCELLED 20.469s
neo4j SUCCESS 8.019s
cloud-sql-mssql SUCCESS 10.549s
cloud-sql-mysql CANCELLED 20.469s
mysql CANCELLED 20.469s
mssql SUCCESS 10.381s
http SUCCESS 3.981s
sqlite SUCCESS 4.152s
couchbase CANCELLED 20.469s
redis SUCCESS 7.208s
valkey SUCCESS 7.136s
oceanbase SUCCESS 11.29s
firestore SUCCESS 7.513s
looker CANCELLED 20.469s
cloud-sql SUCCESS 3.816s
tidb SUCCESS 10.485s
firebird CANCELLED 20.468s
clickhouse SUCCESS 6.297s
trino SUCCESS 7.42s
yugabytedb SUCCESS 9.675s
cassandra SUCCESS 12.351s
oracle SUCCESS 10.101s
serverless-spark SUCCESS 4.477s

Details

starting build "8afc6dce-bcdd-4b49-92a1-84baea5796ea"

FETCHSOURCE
From https://github.com/googleapis/genai-toolbox
 * branch            8260bdc94167e40360b35abeb61c28aa049aa462 -> FETCH_HEAD
HEAD is now at 8260bdc feat(tools/healthcare): fix birthdate parameter in fhir patient search
GitCommit:
8260bdc94167e40360b35abeb61c28aa049aa462
SETUPBUILD
BUILD
Starting Step #0 - "install-dependencies"
Step #0 - "install-dependencies": Pulling image: golang:1
Step #0 - "install-dependencies": 1: Pulling from library/golang
Step #0 - "install-dependencies": 795dbedde24d: Pulling fs layer
Step #0 - "install-dependencies": 89d573bf42b3: Pulling fs layer
Step #0 - "install-dependencies": 26dfe2fac1c4: Pulling fs layer
Step #0 - "install-dependencies": 1c596538aa11: Pulling fs layer
Step #0 - "install-dependencies": 91631faa732a: Pulling fs layer
Step #0 - "install-dependencies": 923089182cb9: Pulling fs layer
Step #0 - "install-dependencies": 4f4fb700ef54: Pulling fs layer
Step #0 - "install-dependencies": 1c596538aa11: Waiting
Step #0 - "install-dependencies": 91631faa732a: Waiting
Step #0 - "install-dependencies": 923089182cb9: Waiting
Step #0 - "install-dependencies": 4f4fb700ef54: Waiting
Step #0 - "install-dependencies": 89d573bf42b3: Verifying Checksum
Step #0 - "install-dependencies": 89d573bf42b3: Download complete
Step #0 - "install-dependencies": 26dfe2fac1c4: Verifying Checksum
Step #0 - "install-dependencies": 26dfe2fac1c4: Download complete
Step #0 - "install-dependencies": 795dbedde24d: Verifying Checksum
Step #0 - "install-dependencies": 795dbedde24d: Download complete
Step #0 - "install-dependencies": 1c596538aa11: Verifying Checksum
Step #0 - "install-dependencies": 1c596538aa11: Download complete
Step #0 - "install-dependencies": 91631faa732a: Verifying Checksum
Step #0 - "install-dependencies": 91631faa732a: Download complete
Step #0 - "install-dependencies": 923089182cb9: Verifying Checksum
Step #0 - "install-dependencies": 923089182cb9: Download complete
Step #0 - "install-dependencies": 4f4fb700ef54: Verifying Checksum
Step #0 - "install-dependencies": 4f4fb700ef54: Download complete
Step #0 - "install-dependencies": 795dbedde24d: Pull complete
Step #0 - "install-dependencies": 89d573bf42b3: Pull complete
Step #0 - "install-dependencies": 26dfe2fac1c4: Pull complete
Step #0 - "install-dependencies": 1c596538aa11: Pull complete
Step #0 - "install-dependencies": 91631faa732a: Pull complete
Step #0 - "install-dependencies": 923089182cb9: Pull complete
Step #0 - "install-dependencies": 4f4fb700ef54: Pull complete
Step #0 - "install-dependencies": Digest: sha256:6bac879c5b77e0fc9c556a5ed8920e89dab1709bd510a854903509c828f67f96
Step #0 - "install-dependencies": Status: Downloaded newer image for golang:1
Step #0 - "install-dependencies": docker.io/library/golang:1
Step #0 - "install-dependencies": go: -d flag is deprecated. -d=true is a no-op
Step #0 - "install-dependencies": go: downloading google.golang.org/api v0.251.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/trace v1.38.0
Step #0 - "install-dependencies": go: downloading github.com/valkey-io/valkey-go v1.0.67
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/alloydbconn v1.15.5
Step #0 - "install-dependencies": go: downloading github.com/goccy/go-yaml v1.18.0
Step #0 - "install-dependencies": go: downloading golang.org/x/oauth2 v0.32.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/bigquery v1.71.0
Step #0 - "install-dependencies": go: downloading github.com/fsnotify/fsnotify v1.9.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/bigtable v1.40.1
Step #0 - "install-dependencies": go: downloading github.com/gocql/gocql v1.7.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/cloudsqlconn v1.18.1
Step #0 - "install-dependencies": go: downloading github.com/yugabyte/pgx/v5 v5.5.3-yb-5
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgx/v5 v5.7.6
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/dataplex v1.27.1
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/firestore v1.20.0
Step #0 - "install-dependencies": go: downloading github.com/redis/go-redis/v9 v9.16.0
Step #0 - "install-dependencies": go: downloading go.mongodb.org/mongo-driver v1.17.4
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/spanner v1.86.0
Step #0 - "install-dependencies": go: downloading github.com/ClickHouse/clickhouse-go/v2 v2.40.3
Step #0 - "install-dependencies": go: downloading github.com/neo4j/neo4j-go-driver/v5 v5.28.4
Step #0 - "install-dependencies": go: downloading github.com/sijms/go-ora/v2 v2.9.0
Step #0 - "install-dependencies": go: downloading github.com/go-sql-driver/mysql v1.9.3
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/dataproc/v2 v2.14.1
Step #0 - "install-dependencies": go: downloading github.com/go-playground/validator/v10 v10.28.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/geminidataanalytics v0.2.1
Step #0 - "install-dependencies": go: downloading github.com/microsoft/go-mssqldb v1.9.3
Step #0 - "install-dependencies": go: downloading modernc.org/sqlite v1.39.1
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel v1.38.0
Step #0 - "install-dependencies": go: downloading github.com/trinodb/trino-go-client v0.329.0
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocb/v2 v2.11.1
Step #0 - "install-dependencies": go: downloading github.com/looker-open-source/sdk-codegen/go v0.25.16
Step #0 - "install-dependencies": go: downloading github.com/go-chi/chi/v5 v5.2.3
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.53.0
Step #0 - "install-dependencies": go: downloading github.com/couchbase/tools-common/http v1.0.9
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace v1.29.0
Step #0 - "install-dependencies": go: downloading github.com/go-chi/httplog/v2 v2.1.1
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/autoprop v0.62.0
Step #0 - "install-dependencies": go: downloading github.com/go-chi/render v1.0.3
Step #0 - "install-dependencies": go: downloading github.com/google/uuid v1.6.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/metric v1.38.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/sdk/metric v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/sdk v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/spf13/cobra v1.10.1
Step #0 - "install-dependencies": go: downloading golang.org/x/sys v0.36.0
Step #0 - "install-dependencies": go: downloading github.com/cenkalti/backoff/v5 v5.0.3
Step #0 - "install-dependencies": go: downloading github.com/json-iterator/go v1.1.12
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto v0.0.0-20250929231259-57b25ae835d4
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/compute/metadata v0.9.0
Step #0 - "install-dependencies": go: downloading github.com/thlib/go-timezone-local v0.0.7
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/google/go-cmp v0.7.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go v0.121.6
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/trace v1.11.6
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20250929231259-57b25ae835d4
Step #0 - "install-dependencies": go: downloading google.golang.org/grpc v1.75.1
Step #0 - "install-dependencies": go: downloading google.golang.org/protobuf v1.36.9
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/monitoring v1.24.2
Step #0 - "install-dependencies": go: downloading github.com/googleapis/gax-go/v2 v2.15.0
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto/googleapis/api v0.0.0-20250922171735-9219d122eba9
Step #0 - "install-dependencies": go: downloading github.com/ajg/form v1.5.1
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/aws v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/b3 v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/jaeger v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/ot v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/gokrb5/v8 v8.4.4
Step #0 - "install-dependencies": go: downloading github.com/klauspost/compress v1.18.0
Step #0 - "install-dependencies": go: downloading github.com/pierrec/lz4 v2.6.1+incompatible
Step #0 - "install-dependencies": go: downloading github.com/couchbase/tools-common/errors v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78
Step #0 - "install-dependencies": go: downloading golang.org/x/crypto v0.42.0
Step #0 - "install-dependencies": go: downloading filippo.io/edwards25519 v1.1.0
Step #0 - "install-dependencies": go: downloading gopkg.in/ini.v1 v1.67.0
Step #0 - "install-dependencies": go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
Step #0 - "install-dependencies": go: downloading github.com/modern-go/reflect2 v1.0.2
Step #0 - "install-dependencies": go: downloading github.com/inconshreveable/mousetrap v1.1.0
Step #0 - "install-dependencies": go: downloading github.com/spf13/pflag v1.0.9
Step #0 - "install-dependencies": go: downloading github.com/golang/snappy v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed
Step #0 - "install-dependencies": go: downloading gopkg.in/inf.v0 v0.9.1
Step #0 - "install-dependencies": go: downloading github.com/gabriel-vasile/mimetype v1.4.10
Step #0 - "install-dependencies": go: downloading github.com/go-playground/universal-translator v0.18.1
Step #0 - "install-dependencies": go: downloading github.com/leodido/go-urn v1.4.0
Step #0 - "install-dependencies": go: downloading golang.org/x/text v0.29.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/iam v1.5.2
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/longrunning v0.6.7
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/alloydb v1.18.0
Step #0 - "install-dependencies": go: downloading golang.org/x/net v0.44.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/auth v0.16.5
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/auth/oauth2adapt v0.2.8
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/detectors/gcp v1.36.0
Step #0 - "install-dependencies": go: downloading go.uber.org/multierr v1.11.0
Step #0 - "install-dependencies": go: downloading github.com/apache/arrow/go/v15 v15.0.2
Step #0 - "install-dependencies": go: downloading golang.org/x/sync v0.17.0
Step #0 - "install-dependencies": go: downloading github.com/cespare/xxhash/v2 v2.3.0
Step #0 - "install-dependencies": go: downloading github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocbcore/v10 v10.8.1
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocbcoreps v0.1.4
Step #0 - "install-dependencies": go: downloading github.com/couchbase/goprotostellar v1.0.2
Step #0 - "install-dependencies": go: downloading github.com/couchbaselabs/gocbconnstr/v2 v2.0.0
Step #0 - "install-dependencies": go: downloading go.uber.org/zap v1.27.0
Step #0 - "install-dependencies": go: downloading golang.org/x/time v0.13.0
Step #0 - "install-dependencies": go: downloading github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9
Step #0 - "install-dependencies": go: downloading github.com/golang-sql/sqlexp v0.1.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/puddle/v2 v2.2.2
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/dnsutils/v2 v2.0.0
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/gofork v1.7.6
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/goidentity/v6 v6.0.1
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/grpc-gcp-go/grpcgcp v1.5.3
Step #0 - "install-dependencies": go: downloading go.opencensus.io v0.24.0
Step #0 - "install-dependencies": go: downloading github.com/go-playground/locales v0.14.1
Step #0 - "install-dependencies": go: downloading github.com/ClickHouse/ch-go v0.68.0
Step #0 - "install-dependencies": go: downloading github.com/andybalholm/brotli v1.2.0
Step #0 - "install-dependencies": go: downloading github.com/go-logr/logr v1.4.3
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/proto/otlp v1.7.0
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.62.0
Step #0 - "install-dependencies": go: downloading github.com/grpc-ecosystem/go-grpc-middleware v1.4.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.62.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgpassfile v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761
Step #0 - "install-dependencies": go: downloading github.com/hashicorp/go-uuid v1.0.3
Step #0 - "install-dependencies": go: downloading github.com/paulmach/orb v0.11.1
Step #0 - "install-dependencies": go: downloading github.com/shopspring/decimal v1.4.0
Step #0 - "install-dependencies": go: downloading go.yaml.in/yaml/v3 v3.0.4
Step #0 - "install-dependencies": go: downloading github.com/go-logr/stdr v1.2.2
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/auto/sdk v1.1.0
Step #0 - "install-dependencies": go: downloading github.com/google/s2a-go v0.1.9
Step #0 - "install-dependencies": go: downloading github.com/googleapis/enterprise-certificate-proxy v0.3.6
Step #0 - "install-dependencies": go: downloading github.com/gorilla/websocket v1.5.3
Step #0 - "install-dependencies": go: downloading github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/aescts/v2 v2.0.0
Step #0 - "install-dependencies": go: downloading github.com/jcmturner/rpc/v2 v2.0.3
Step #0 - "install-dependencies": go: downloading github.com/felixge/httpsnoop v1.0.4
Step #0 - "install-dependencies": go: downloading github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1
Step #0 - "install-dependencies": go: downloading github.com/envoyproxy/go-control-plane/envoy v1.32.4
Step #0 - "install-dependencies": go: downloading github.com/spiffe/go-spiffe/v2 v2.5.0
Step #0 - "install-dependencies": go: downloading github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443
Step #0 - "install-dependencies": go: downloading github.com/go-jose/go-jose/v4 v4.1.1
Step #0 - "install-dependencies": go: downloading github.com/zeebo/errs v1.4.0
Step #0 - "install-dependencies": go: downloading github.com/go-faster/city v1.0.1
Step #0 - "install-dependencies": go: downloading github.com/go-faster/errors v0.7.1
Step #0 - "install-dependencies": go: downloading github.com/pierrec/lz4/v4 v4.1.22
Step #0 - "install-dependencies": go: downloading github.com/segmentio/asm v1.2.0
Step #0 - "install-dependencies": go: downloading cel.dev/expr v0.24.0
Step #0 - "install-dependencies": go: downloading github.com/envoyproxy/protoc-gen-validate v1.2.1
Step #0 - "install-dependencies": go: downloading golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b
Step #0 - "install-dependencies": go: downloading golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
Step #0 - "install-dependencies": go: downloading golang.org/x/tools v0.36.0
Step #0 - "install-dependencies": go: downloading github.com/google/flatbuffers v25.2.10+incompatible
Step #0 - "install-dependencies": go: downloading github.com/xdg-go/scram v1.1.2
Step #0 - "install-dependencies": go: downloading github.com/xdg-go/stringprep v1.0.4
Step #0 - "install-dependencies": go: downloading github.com/montanaflynn/stats v0.7.1
Step #0 - "install-dependencies": go: downloading github.com/goccy/go-json v0.10.5
Step #0 - "install-dependencies": go: downloading github.com/zeebo/xxh3 v1.0.2
Step #0 - "install-dependencies": go: downloading github.com/xdg-go/pbkdf2 v1.0.0
Step #0 - "install-dependencies": go: downloading github.com/klauspost/cpuid/v2 v2.2.11
Step #0 - "install-dependencies": go: downloading github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10
Step #0 - "install-dependencies": go: downloading golang.org/x/mod v0.27.0
Step #0 - "install-dependencies": go: downloading modernc.org/libc v1.66.10
Step #0 - "install-dependencies": go: downloading modernc.org/memory v1.11.0
Step #0 - "install-dependencies": go: downloading github.com/dustin/go-humanize v1.0.1
Step #0 - "install-dependencies": go: downloading github.com/ncruces/go-strftime v0.1.9
Step #0 - "install-dependencies": go: downloading github.com/mattn/go-isatty v0.0.20
Step #0 - "install-dependencies": go: downloading modernc.org/mathutil v1.7.1
Step #0 - "install-dependencies": go: downloading github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec
Finished Step #0 - "install-dependencies"
Starting Step #1 - "compile-test-binary"
Step #1 - "compile-test-binary": Already have image (with digest): golang:1
Step #1 - "compile-test-binary": go: downloading github.com/nakagami/firebirdsql v0.9.15
Step #1 - "compile-test-binary": go: downloading github.com/nakagami/chacha20 v0.1.0
Step #1 - "compile-test-binary": go: downloading github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0
Step #1 - "compile-test-binary": go: downloading gitlab.com/nyarla/go-crypt v0.0.0-20160106005555-d9a5dc2b789b
Step #1 - "compile-test-binary": ?   	github.com/googleapis/genai-toolbox/tests	[no test files]
Finished Step #1 - "compile-test-binary"
Starting Step #34 - "serverless-spark"
Starting Step #30 - "trino"
Starting Step #33 - "oracle"
Starting Step #22 - "valkey"
Starting Step #23 - "oceanbase"
Starting Step #18 - "http"
Starting Step #24 - "firestore"
Starting Step #21 - "redis"
Starting Step #20 - "couchbase"
Starting Step #19 - "sqlite"
Starting Step #8 - "dataplex"
Starting Step #16 - "mysql"
Starting Step #15 - "cloud-sql-mysql"
Starting Step #14 - "cloud-sql-mssql"
Starting Step #25 - "looker"
Starting Step #13 - "neo4j"
Starting Step #12 - "spanner"
Starting Step #11 - "postgres"
Step #23 - "oceanbase": Already have image (with digest): golang:1
Starting Step #10 - "healthcare"
Step #33 - "oracle": Already have image (with digest): golang:1
Starting Step #9 - "dataform"
Step #34 - "serverless-spark": Already have image (with digest): golang:1
Step #21 - "redis": Already have image (with digest): golang:1
Starting Step #32 - "cassandra"
Step #19 - "sqlite": Already have image (with digest): golang:1
Step #20 - "couchbase": Already have image (with digest): golang:1
Starting Step #31 - "yugabytedb"
Step #22 - "valkey": Already have image (with digest): golang:1
Step #8 - "dataplex": Already have image (with digest): golang:1
Step #18 - "http": Already have image (with digest): golang:1
Starting Step #28 - "firebird"
Step #25 - "looker": Already have image (with digest): golang:1
Step #14 - "cloud-sql-mssql": Already have image (with digest): golang:1
Step #30 - "trino": Already have image (with digest): golang:1
Starting Step #26 - "cloud-sql"
Step #15 - "cloud-sql-mysql": Already have image (with digest): golang:1
Step #9 - "dataform": Already have image (with digest): golang:1
Starting Step #3 - "alloydb"
Step #13 - "neo4j": Already have image (with digest): golang:1
Starting Step #2 - "cloud-sql-pg"
Starting Step #7 - "bigquery"
Step #10 - "healthcare": Already have image (with digest): golang:1
Step #24 - "firestore": Already have image (with digest): golang:1
Starting Step #6 - "bigtable"
Step #11 - "postgres": Already have image (with digest): golang:1
Step #16 - "mysql": Already have image (with digest): golang:1
Step #28 - "firebird": Already have image (with digest): golang:1
Starting Step #27 - "tidb"
Step #31 - "yugabytedb": Already have image (with digest): golang:1
Starting Step #17 - "mssql"
Step #12 - "spanner": Already have image (with digest): golang:1
Step #32 - "cassandra": Already have image (with digest): golang:1
Starting Step #5 - "alloydb-ai-nl"
Starting Step #29 - "clickhouse"
Step #3 - "alloydb": Already have image (with digest): golang:1
Starting Step #4 - "alloydb-pg"
Step #2 - "cloud-sql-pg": Already have image (with digest): golang:1
Step #7 - "bigquery": Already have image (with digest): golang:1
Step #26 - "cloud-sql": Already have image (with digest): golang:1
Step #27 - "tidb": Already have image (with digest): golang:1
Step #17 - "mssql": Already have image (with digest): golang:1
Step #6 - "bigtable": Already have image (with digest): golang:1
Step #29 - "clickhouse": Already have image (with digest): golang:1
Step #4 - "alloydb-pg": Already have image (with digest): golang:1
Step #5 - "alloydb-ai-nl": Already have image (with digest): golang:1
Step #9 - "dataform": Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
Step #9 - "dataform": Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Step #9 - "dataform": Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Step #9 - "dataform": Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9669 kB]
Step #12 - "spanner": === RUN   TestSpannerToolEndpoints
Step #9 - "dataform": Get:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages [5412 B]
Step #9 - "dataform": Get:6 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [67.8 kB]
Step #34 - "serverless-spark": === RUN   TestServerlessSparkToolEndpoints
Step #26 - "cloud-sql": === RUN   TestCreateDatabaseToolEndpoints
Step #6 - "bigtable": === RUN   TestBigtableToolEndpoints
Step #26 - "cloud-sql": === RUN   TestCreateDatabaseToolEndpoints/successful_database_creation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.910687016Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-database/invoke" method: "POST" path: "/api/tool/create-database/invoke" remoteIP: "127.0.0.1:54800" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000001"} httpResponse: {status: 200 bytes: 55 elapsed: 3.038268} 
Step #26 - "cloud-sql": === RUN   TestCreateDatabaseToolEndpoints/missing_name
Step #26 - "cloud-sql": 2025-10-29T21:20:41.912153296Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-database/invoke" method: "POST" path: "/api/tool/create-database/invoke" remoteIP: "127.0.0.1:54800" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000002"} httpResponse: {status: 400 bytes: 100 elapsed: 0.305470} 
Step #26 - "cloud-sql": --- PASS: TestCreateDatabaseToolEndpoints (0.02s)
Step #26 - "cloud-sql":     --- PASS: TestCreateDatabaseToolEndpoints/successful_database_creation (0.00s)
Step #26 - "cloud-sql":     --- PASS: TestCreateDatabaseToolEndpoints/missing_name (0.00s)
Step #26 - "cloud-sql": === RUN   TestCreateUsersToolEndpoints
Step #26 - "cloud-sql": === RUN   TestCreateUsersToolEndpoints/successful_built-in_user_creation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.920492882Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-user/invoke" method: "POST" path: "/api/tool/create-user/invoke" remoteIP: "127.0.0.1:54814" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000003"} httpResponse: {status: 200 bytes: 55 elapsed: 3.161139} 
Step #26 - "cloud-sql": === RUN   TestCreateUsersToolEndpoints/successful_iam_user_creation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.922675361Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-user/invoke" method: "POST" path: "/api/tool/create-user/invoke" remoteIP: "127.0.0.1:54814" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000004"} httpResponse: {status: 200 bytes: 55 elapsed: 1.207330} 
Step #26 - "cloud-sql": === RUN   TestCreateUsersToolEndpoints/missing_password_for_built-in_user
Step #26 - "cloud-sql": 2025-10-29T21:20:41.92380152Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/create-user/invoke" method: "POST" path: "/api/tool/create-user/invoke" remoteIP: "127.0.0.1:54814" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000005"} httpResponse: {status: 400 bytes: 108 elapsed: 0.236080} 
Step #26 - "cloud-sql": --- PASS: TestCreateUsersToolEndpoints (0.01s)
Step #26 - "cloud-sql":     --- PASS: TestCreateUsersToolEndpoints/successful_built-in_user_creation (0.00s)
Step #26 - "cloud-sql":     --- PASS: TestCreateUsersToolEndpoints/successful_iam_user_creation (0.00s)
Step #26 - "cloud-sql":     --- PASS: TestCreateUsersToolEndpoints/missing_password_for_built-in_user (0.00s)
Step #26 - "cloud-sql": === RUN   TestGetInstancesToolEndpoints
Step #26 - "cloud-sql": === RUN   TestGetInstancesToolEndpoints/successful_get_instance
Step #26 - "cloud-sql": 2025-10-29T21:20:41.932818466Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/get-instance-1/invoke" method: "POST" path: "/api/tool/get-instance-1/invoke" remoteIP: "127.0.0.1:54822" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000006"} httpResponse: {status: 200 bytes: 65 elapsed: 2.974739} 
Step #26 - "cloud-sql": === RUN   TestGetInstancesToolEndpoints/failed_get_instance
Step #26 - "cloud-sql": 2025-10-29T21:20:41.933861535Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/get-instance-2/invoke" method: "POST" path: "/api/tool/get-instance-2/invoke" remoteIP: "127.0.0.1:54822" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000007"} httpResponse: {status: 401 bytes: 123 elapsed: 0.123880} 
Step #26 - "cloud-sql": --- PASS: TestGetInstancesToolEndpoints (0.01s)
Step #26 - "cloud-sql":     --- PASS: TestGetInstancesToolEndpoints/successful_get_instance (0.00s)
Step #26 - "cloud-sql":     --- PASS: TestGetInstancesToolEndpoints/failed_get_instance (0.00s)
Step #26 - "cloud-sql": === RUN   TestListDatabasesToolEndpoints
Step #26 - "cloud-sql": === RUN   TestListDatabasesToolEndpoints/successful_databases_listing
Step #26 - "cloud-sql": 2025-10-29T21:20:41.94466508Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-databases/invoke" method: "POST" path: "/api/tool/list-databases/invoke" remoteIP: "127.0.0.1:54824" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000008"} httpResponse: {status: 200 bytes: 169 elapsed: 5.008387} 
Step #26 - "cloud-sql": === RUN   TestListDatabasesToolEndpoints/missing_instance
Step #26 - "cloud-sql": 2025-10-29T21:20:41.945983859Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-databases/invoke" method: "POST" path: "/api/tool/list-databases/invoke" remoteIP: "127.0.0.1:54824" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000009"} httpResponse: {status: 400 bytes: 104 elapsed: 0.221170} 
Step #26 - "cloud-sql": --- PASS: TestListDatabasesToolEndpoints (0.01s)
Step #26 - "cloud-sql":     --- PASS: TestListDatabasesToolEndpoints/successful_databases_listing (0.01s)
Step #26 - "cloud-sql":     --- PASS: TestListDatabasesToolEndpoints/missing_instance (0.00s)
Step #26 - "cloud-sql": === RUN   TestListInstance
Step #26 - "cloud-sql": === RUN   TestListInstance/successful_operation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.955787864Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-instances/invoke" method: "POST" path: "/api/tool/list-instances/invoke" remoteIP: "127.0.0.1:54832" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000010"} httpResponse: {status: 200 bytes: 84 elapsed: 2.173950} 
Step #26 - "cloud-sql": === RUN   TestListInstance/failed_operation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.956908664Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-instances-fail/invoke" method: "POST" path: "/api/tool/list-instances-fail/invoke" remoteIP: "127.0.0.1:54832" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000011"} httpResponse: {status: 401 bytes: 123 elapsed: 0.125640} 
Step #26 - "cloud-sql": --- PASS: TestListInstance (0.01s)
Step #26 - "cloud-sql":     --- PASS: TestListInstance/successful_operation (0.00s)
Step #26 - "cloud-sql":     --- PASS: TestListInstance/failed_operation (0.00s)
Step #26 - "cloud-sql": === RUN   TestCloudSQLWaitToolEndpoints
Step #26 - "cloud-sql": === RUN   TestCloudSQLWaitToolEndpoints/successful_operation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.967650939Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/wait-for-op1/invoke" method: "POST" path: "/api/tool/wait-for-op1/invoke" remoteIP: "127.0.0.1:54846" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000012"} httpResponse: {status: 200 bytes: 1616 elapsed: 4.448808} 
Step #26 - "cloud-sql": === RUN   TestCloudSQLWaitToolEndpoints/failed_operation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.970402177Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/wait-for-op2/invoke" method: "POST" path: "/api/tool/wait-for-op2/invoke" remoteIP: "127.0.0.1:54846" proto: "HTTP/1.1" requestID: "722e6391d793/xwpTqfleS8-000013"} httpResponse: {status: 400 bytes: 157 elapsed: 1.493799} 
Step #26 - "cloud-sql": === RUN   TestCloudSQLWaitToolEndpoints/non-database_create_operation
Step #26 - "cloud-sql": 2025-10-29T21:20:41.972552626Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://1
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%228afc6dce-bcdd-4b49-92a1-84baea5796ea%22+AND+resource.labels.build_trigger_id%3D%22785da918-06f1-47bb-860c-fbabc80b5977%22&project=toolbox-testing-438616.]
...
- "sqlite": coverage: 4.4% of statements in ./internal/sources/..., ./internal/tools/...
Step #34 - "serverless-spark": 2025-10-29T21:20:42.813042743Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-batches-with-auth/invoke" method: "POST" path: "/api/tool/list-batches-with-auth/invoke" remoteIP: "127.0.0.1:54850" proto: "HTTP/1.1" requestID: "437a65e9bfd9/Mc79voDZPb-000010"} httpResponse: {status: 200 bytes: 385 elapsed: 83.981549} 
Step #34 - "serverless-spark": === RUN   TestServerlessSparkToolEndpoints/invalid_auth_token
Step #34 - "serverless-spark": 2025-10-29T21:20:42.814664793Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-batches-with-auth/invoke" method: "POST" path: "/api/tool/list-batches-with-auth/invoke" remoteIP: "127.0.0.1:55002" proto: "HTTP/1.1" requestID: "437a65e9bfd9/Mc79voDZPb-000011"} httpResponse: {status: 401 bytes: 119 elapsed: 0.201060} 
Step #34 - "serverless-spark": === RUN   TestServerlessSparkToolEndpoints/no_auth_token
Step #34 - "serverless-spark": 2025-10-29T21:20:42.816206082Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/list-batches-with-auth/invoke" method: "POST" path: "/api/tool/list-batches-with-auth/invoke" remoteIP: "127.0.0.1:55018" proto: "HTTP/1.1" requestID: "437a65e9bfd9/Mc79voDZPb-000012"} httpResponse: {status: 401 bytes: 119 elapsed: 0.159470} 
Step #34 - "serverless-spark": --- PASS: TestServerlessSparkToolEndpoints (1.05s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/one_page (0.09s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/two_pages (0.17s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/20_batches (0.09s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/omit_page_size (0.11s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/filtered (0.02s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/empty (0.08s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/zero_page_size (0.00s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/negative_page_size (0.00s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/valid_auth_token (0.08s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/invalid_auth_token (0.00s)
Step #34 - "serverless-spark":     --- PASS: TestServerlessSparkToolEndpoints/no_auth_token (0.00s)
Step #34 - "serverless-spark": PASS
Step #34 - "serverless-spark": coverage: 2.8% of statements in ./internal/sources/..., ./internal/tools/...
Step #8 - "dataplex": === RUN   TestDataplexToolEndpoints
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/get_my-simple-tool
Step #30 - "trino": 2025-10-29T21:20:43.083783473Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/" method: "GET" path: "/api/tool/my-simple-tool/" remoteIP: "127.0.0.1:52104" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000001"} httpResponse: {status: 200 bytes: 168 elapsed: 0.448500} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/invoke_my-simple-tool
Step #7 - "bigquery": === RUN   TestBigQueryToolEndpoints
Step #26 - "cloud-sql": Calculating coverage for Cloud SQL Wait for Operation...
Step #9 - "dataform": Reading package lists...
Step #30 - "trino": 2025-10-29T21:20:43.270631654Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/invoke" method: "POST" path: "/api/tool/my-simple-tool/invoke" remoteIP: "127.0.0.1:52104" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000002"} httpResponse: {status: 200 bytes: 29 elapsed: 181.975183} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/invoke_my-tool
Step #26 - "cloud-sql": Cloud SQL Wait for Operation total coverage: 75.6%
Step #26 - "cloud-sql": Coverage for Cloud SQL Wait for Operation is sufficient.
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints
Step #18 - "http": Calculating coverage for HTTP...
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints
Step #9 - "dataform": Building dependency tree...
Step #9 - "dataform": Reading state information...
Step #30 - "trino": 2025-10-29T21:20:43.513617907Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool/invoke" method: "POST" path: "/api/tool/my-tool/invoke" remoteIP: "127.0.0.1:52104" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000003"} httpResponse: {status: 200 bytes: 73 elapsed: 241.945573} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/invoke_my-tool-by-id_with_nil_response
Step #30 - "trino": 2025-10-29T21:20:43.565753882Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool-by-id/invoke" method: "POST" path: "/api/tool/my-tool-by-id/invoke" remoteIP: "127.0.0.1:52104" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000004"} httpResponse: {status: 200 bytes: 40 elapsed: 50.817406} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/invoke_my-tool-by-name_with_nil_response
Step #30 - "trino": 2025-10-29T21:20:43.623705725Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool-by-name/invoke" method: "POST" path: "/api/tool/my-tool-by-name/invoke" remoteIP: "127.0.0.1:52104" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000005"} httpResponse: {status: 200 bytes: 18 elapsed: 56.875433} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/Invoke_my-tool_without_parameters
Step #30 - "trino": 2025-10-29T21:20:43.625043244Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool/invoke" method: "POST" path: "/api/tool/my-tool/invoke" remoteIP: "127.0.0.1:52104" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000006"} httpResponse: {status: 400 bytes: 98 elapsed: 0.345600} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/Invoke_my-tool_with_insufficient_parameters
Step #30 - "trino": 2025-10-29T21:20:43.626342004Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool/invoke" method: "POST" path: "/api/tool/my-tool/invoke" remoteIP: "127.0.0.1:52118" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000007"} httpResponse: {status: 400 bytes: 100 elapsed: 0.262880} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/invoke_my-array-tool
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/Invoke_my-auth-tool_with_auth_token
Step #9 - "dataform": The following additional packages will be installed:
Step #9 - "dataform":   build-essential bzip2 dbus dbus-bin dbus-daemon dbus-session-bus-common
Step #9 - "dataform":   dbus-system-bus-common dpkg-dev eslint fakeroot fontconfig-config
Step #9 - "dataform":   fonts-dejavu-core fonts-dejavu-mono gyp handlebars javascript-common
Step #9 - "dataform":   libabsl20240722 libalgorithm-diff-perl libalgorithm-diff-xs-perl
Step #9 - "dataform":   libalgorithm-merge-perl libapparmor1 libauthen-sasl-perl libcares2
Step #9 - "dataform":   libclone-perl libdata-dump-perl libdbus-1-3 libdeflate0 libdpkg-perl
Step #9 - "dataform":   libdrm-amdgpu1 libdrm-common libdrm-intel1 libdrm2 libegl-mesa0 libegl1
Step #9 - "dataform":   libelf1t64 libencode-locale-perl libfakeroot libfile-basedir-perl
Step #9 - "dataform":   libfile-desktopentry-perl libfile-fcntllock-perl libfile-listing-perl
Step #9 - "dataform":   libfile-mimeinfo-perl libfont-afm-perl libfontconfig1 libfreetype6 libgbm1
Step #9 - "dataform":   libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgdk-pixbuf2.0-common libgl1
Step #9 - "dataform":   libgl1-mesa-dri libgles2 libglib2.0-0t64 libglib2.0-data libglvnd0
Step #9 - "dataform":   libglx-mesa0 libglx0 libhtml-form-perl libhtml-format-perl
Step #9 - "dataform":   libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl
Step #9 - "dataform":   libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl
Step #9 - "dataform":   libhttp-message-perl libhttp-negotiate-perl libice6 libicu76
Step #9 - "dataform":   libio-compress-brotli-perl libio-html-perl libio-socket-ssl-perl
Step #9 - "dataform":   libio-stringy-perl libipc-system-simple-perl libjbig0 libjpeg62-turbo
Step #9 - "dataform":   libjs-events libjs-inherits libjs-is-typedarray libjs-prettify
Step #9 - "dataform":   libjs-regenerate libjs-source-map libjs-sprintf-js
Step #9 - "dataform":   libjs-typedarray-to-buffer libjs-util liblerc4 libllvm19
Step #9 - "dataform":   liblocale-gettext-perl liblwp-mediatypes-perl liblwp-protocol-https-perl
Step #9 - "dataform":   libmailtools-perl libnet-dbus-perl libnet-http-perl libnet-smtp-ssl-perl
Step #9 - "dataform":   libnet-ssleay-perl libnode-dev libnode115 libnotify-bin libnotify4
Step #9 - "dataform":   libpciaccess0 libpng16-16t64 libre2-11 libsensors-config libsensors5
Step #9 - "dataform":   libsharpyuv0 libsm6 libssl-dev libtext-iconv-perl libtie-ixhash-perl
Step #9 - "dataform":   libtiff6 libtimedate-perl libtry-tiny-perl liburi-perl libuv1-dev libuv1t64
Step #9 - "dataform":   libvulkan1 libwayland-client0 libwayland-server0 libwebp7 libwww-perl
Step #9 - "dataform":   libwww-robotrules-perl libx11-6 libx11-data libx11-protocol-perl libx11-xcb1
Step #9 - "dataform":   libxau6 libxaw7 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0
Step #9 - "dataform":   libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb1 libxcomposite1
Step #9 - "dataform":   libxcursor1 libxdmcp6 libxext6 libxfixes3 libxft2 libxi6 libxinerama1
Step #9 - "dataform":   libxkbfile1 libxml-parser-perl libxml-twig-perl libxml-xpathengine-perl
Step #9 - "dataform":   libxml2 libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxshmfence1
Step #9 - "dataform":   libxt6t64 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 libz3-4 luit
Step #9 - "dataform":   mesa-libgallium mesa-vulkan-drivers node-abbrev node-acorn node-agent-base
Step #9 - "dataform":   node-ajv node-ajv-keywords node-ampproject-remapping node-ansi-escapes
Step #9 - "dataform":   node-ansi-regex node-ansi-styles node-anymatch node-aproba node-archy
Step #9 - "dataform":   node-are-we-there-yet node-argparse node-arrify node-assert node-async
Step #9 - "dataform":   node-async-each node-auto-bind node-babel-helper-define-polyfill-provider
Step #9 - "dataform":   node-babel-plugin-add-module-exports node-babel-plugin-lodash
Step #9 - "dataform":   node-babel-plugin-polyfill-corejs2 node-babel-plugin-polyfill-corejs3
Step #9 - "dataform":   node-babel-plugin-polyfill-regenerator node-babel7 node-babel7-runtime
Step #9 - "dataform":   node-balanced-match node-base node-base64-js node-binary-extensions
Step #9 - "dataform":   node-brace-expansion node-braces node-browserslist node-builtins
Step #9 - "dataform":   node-cacache node-cache-base node-camelcase node-caniuse-lite node-chalk
Step #9 - "dataform":   node-chokidar node-chownr node-chrome-trace-event node-ci-info
Step #9 - "dataform":   node-cjs-module-lexer node-cli-boxes node-cli-cursor node-cli-table
Step #9 - "dataform":   node-cli-truncate node-cliui node-clone node-clone-deep
Step #9 - "dataform":   node-collection-visit node-color-convert node-color-name node-colors
Step #9 - "dataform":   node-columnify node-commander node-commondir node-concat-stream
Step #9 - "dataform":   node-console-control-strings node-convert-source-map node-copy-concurrently
Step #9 - "dataform":   node-core-js node-core-js-compat node-core-js-pure node-core-util-is
Step #9 - "dataform":   node-corepack node-coveralls node-css-loader node-css-selector-tokenizer
Step #9 - "dataform":   node-data-uri-to-buffer node-debbundle-es-to-primitive node-debug
Step #9 - "dataform":   node-decamelize node-decompress-response node-deep-equal node-deep-is
Step #9 - "dataform":   node-defaults node-define-properties node-define-property node-defined
Step #9 - "dataform":   node-del node-delegates node-depd node-diff node-doctrine
Step #9 - "dataform":   node-electron-to-chromium node-encoding node-enhanced-resolve node-envinfo
Step #9 - "dataform":   node-err-code node-errno node-error-ex node-es-abstract node-es-module-lexer
Step #9 - "dataform":   node-es6-error node-escape-string-regexp node-escodegen node-eslint-scope
Step #9 - "dataform":   node-eslint-utils node-eslint-visitor-keys node-espree node-esprima
Step #9 - "dataform":   node-esquery node-esrecurse node-estraverse node-esutils node-events
Step #9 - "dataform":   node-execa node-fancy-log node-fast-deep-equal node-fast-levenshtein
Step #9 - "dataform":   node-fetch node-file-entry-cache node-fill-range node-find-cache-dir
Step #9 - "dataform":   node-find-up node-flat-cache node-flatted node-for-in node-for-own
Step #9 - "dataform":   node-foreground-child node-fs-readdir-recursive node-fs-write-stream-atomic
Step #9 - "dataform":   node-fs.realpath node-function-bind node-functional-red-black-tree
Step #9 - "dataform":   node-gauge node-get-caller-file node-get-stream node-get-value node-glob
Step #9 - "dataform":   node-glob-parent node-globals node-globby node-got node-graceful-fs
Step #9 - "dataform":   node-growl node-gyp node-has-flag node-has-unicode node-has-value
Step #9 - "dataform":   node-has-values node-hosted-git-info node-http-proxy-agent
Step #9 - "dataform":   node-https-proxy-agent node-iconv-lite node-icss-utils node-ieee754
Step #9 - "dataform":   node-iferr node-ignore node-imurmurhash node-indent-string node-inflight
Step #9 - "dataform":   node-inherits node-ini node-interpret node-ip node-ip-regex node-is-arrayish
Step #9 - "dataform":   node-is-binary-path node-is-buffer node-is-descriptor node-is-extendable
Step #9 - "dataform":   node-is-extglob node-is-glob node-is-number node-is-path-cwd
Step #9 - "dataform":   node-is-path-inside node-is-plain-obj node-is-plain-object node-is-primitive
Step #9 - "dataform":   node-is-stream node-is-typedarray node-is-windows node-isarray node-isexe
Step #9 - "dataform":   node-isobject node-istanbul node-jest-debbundle node-jest-worker
Step #9 - "dataform":   node-js-tokens node-js-yaml node-jsesc node-json-buffer
Step #9 - "dataform":   node-json-parse-better-errors node-json-schema node-json-schema-traverse
Step #9 - "dataform":   node-json-stable-stringify node-json5 node-jsonify node-jsonparse
Step #9 - "dataform":   node-kind-of node-lcov-parse node-levn node-loader-runner node-locate-path
Step #9 - "dataform":   node-lodash node-lodash-packages node-log-driver node-lowercase-keys
Step #9 - "dataform":   node-lru-cache node-make-dir node-map-visit node-memfs node-memory-fs
Step #9 - "dataform":   node-merge-stream node-micromatch node-mime node-mime-types node-mimic-fn
Step #9 - "dataform":   node-mimic-response node-minimatch node-minimist node-minipass
Step #9 - "dataform":   node-mixin-deep node-mkdirp node-move-concurrently node-ms node-mute-stream
Step #9 - "dataform":   node-n3 node-negotiator node-neo-async node-nopt node-normalize-package-data
Step #9 - "dataform":   node-normalize-path node-npm-bundled node-npm-package-arg node-npm-run-path
Step #9 - "dataform":   node-npmlog node-object-assign node-object-inspect node-object-visit
Step #9 - "dataform":   node-once node-opener node-optimist node-optionator node-osenv
Step #9 - "dataform":   node-p-cancelable node-p-limit node-p-locate node-p-map node-parse-json
Step #9 - "dataform":   node-pascalcase node-path-dirname node-path-exists node-path-is-absolute
Step #9 - "dataform":   node-path-is-inside node-path-type node-picocolors node-pify node-pkg-dir
Step #9 - "dataform":   node-postcss node-postcss-modules-extract-imports
Step #9 - "dataform":   node-postcss-modules-values node-postcss-value-parser node-prelude-ls
Step #9 - "dataform":   node-process-nextick-args node-progress node-promise-inflight
Step #9 - "dataform":   node-promise-retry node-promzard node-prr node-punycode node-quick-lru
Step #9 - "dataform":   node-randombytes node-re2 node-read node-read-package-json node-read-pkg
Step #9 - "dataform":   node-readable-stream node-readdirp node-rechoir node-regenerate
Step #9 - "dataform":   node-regenerate-unicode-properties node-regenerator-runtime
Step #9 - "dataform":   node-regenerator-transform node-regexpp node-regexpu-core node-regjsgen
Step #9 - "dataform":   node-regjsparser node-repeat-string node-require-directory
Step #9 - "dataform":   node-require-from-string node-resolve node-resolve-cwd node-resolve-from
Step #9 - "dataform":   node-restore-cursor node-resumer node-retry node-rimraf node-run-queue
Step #9 - "dataform":   node-safe-buffer node-schema-utils node-sellside-emitter node-semver
Step #9 - "dataform":   node-serialize-javascript node-set-blocking node-set-immediate-shim
Step #9 - "dataform":   node-set-value node-shebang-command node-shebang-regex node-shell-quote
Step #9 - "dataform":   node-signal-exit node-slash node-slice-ansi node-source-list-map
Step #9 - "dataform":   node-source-map node-source-map-support node-spdx-correct
Step #9 - "dataform":   node-spdx-exceptions node-spdx-expression-parse node-spdx-license-ids
Step #9 - "dataform":   node-sprintf-js node-ssri node-stack-utils node-string-decoder
Step #9 - "dataform":   node-string-width node-strip-ansi node-strip-bom node-strip-eof
Step #9 - "dataform":   node-strip-json-comments node-supports-color node-tap
Step #9 - "dataform":   node-tap-mocha-reporter node-tap-parser node-tapable node-tape node-tar
Step #9 - "dataform":   node-terser node-text-table node-through node-time-stamp
Step #9 - "dataform":   node-to-fast-properties node-to-regex-range node-tslib node-type-check
Step #9 - "dataform":   node-typedarray node-typedarray-to-buffer node-undici
Step #9 - "dataform":   node-unicode-canonical-property-names-ecmascript
Step #9 - "dataform":   node-unicode-match-property-ecmascript
Step #9 - "dataform":   node-unicode-match-property-value-ecmascript
Step #9 - "dataform":   node-unicode-property-aliases-ecmascript node-union-value
Step #9 - "dataform":   node-unique-filename node-unset-value node-uri-js node-util
Step #9 - "dataform":   node-util-deprecate node-uuid node-v8-compile-cache node-v8flags
Step #9 - "dataform":   node-validate-npm-package-license node-validate-npm-package-name
Step #9 - "dataform":   node-watchpack node-wcwidth.js node-webassemblyjs node-webpack-sources
Step #9 - "dataform":   node-which node-wide-align node-widest-line node-wordwrap node-wrap-ansi
Step #9 - "dataform":   node-wrappy node-write node-write-file-atomic node-ws node-xtend node-y18n
Step #9 - "dataform":   node-yallist node-yaml node-yargs node-yargs-parser nodejs nodejs-doc patch
Step #9 - "dataform":   perl-openssl-defaults python3-packaging shared-mime-info terser webpack
Step #9 - "dataform":   x11-common x11-utils x11-xserver-utils xdg-user-dirs xdg-utils xz-utils
Step #9 - "dataform":   zutty
Step #9 - "dataform": Suggested packages:
Step #9 - "dataform":   bzip2-doc default-dbus-session-bus | dbus-session-bus debian-keyring
Step #9 - "dataform":   debian-tag2upload-keyring node-babel-eslint node-esprima-fb node-inquirer
Step #9 - "dataform":   apache2 | lighttpd | httpd libdigest-hmac-perl libgssapi-perl bzr
Step #9 - "dataform":   low-memory-monitor libjs-angularjs libcrypt-ssleay-perl notification-daemon
Step #9 - "dataform":   pciutils lm-sensors libssl-doc libsub-name-perl libbusiness-isbn-perl
Step #9 - "dataform":   libmime-base32-perl libregexp-ipv6-perl libuv1-doc libauthen-ntlm-perl
Step #9 - "dataform":   libunicode-map8-perl libunicode-string-perl xml-twig-tools
Step #9 - "dataform":   node-babel-plugin-polyfill-es-shims node-babel7-debug livescript chai
Step #9 - "dataform":   node-jest-diff ed diffutils-doc debhelper mesa-utils nickle cairo-5c
Step #9 - "dataform":   xorg-docs-core
Step #18 - "http": HTTP total coverage: 77.6%
Step #18 - "http": Coverage for HTTP is sufficient.
Step #30 - "trino": 2025-10-29T21:20:43.847008797Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-tool/invoke" method: "POST" path: "/api/tool/my-auth-tool/invoke" remoteIP: "127.0.0.1:52122" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000008"} httpResponse: {status: 200 bytes: 36 elapsed: 219.555594} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/Invoke_my-auth-tool_with_invalid_auth_token
Step #30 - "trino": 2025-10-29T21:20:43.848365667Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-tool/invoke" method: "POST" path: "/api/tool/my-auth-tool/invoke" remoteIP: "127.0.0.1:52122" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000009"} httpResponse: {status: 401 bytes: 140 elapsed: 0.228860} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/Invoke_my-auth-tool_without_auth_token
Step #30 - "trino": 2025-10-29T21:20:43.850041506Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-tool/invoke" method: "POST" path: "/api/tool/my-auth-tool/invoke" remoteIP: "127.0.0.1:52132" proto: "HTTP/1.1" requestID: "341a6c9551b3/pvpNDNqhyj-000010"} httpResponse: {status: 401 bytes: 140 elapsed: 0.329780} 
Step #30 - "trino": === RUN   TestTrinoToolEndpoints/Invoke_my-auth-required-tool_with_auth_token
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/get_my-simple-tool
Step #24 - "firestore": 2025-10-29T21:20:43.861236111Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/" method: "GET" path: "/api/tool/my-simple-tool/" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000001"} httpResponse: {status: 200 bytes: 601 elapsed: 0.458709} 
Step #24 - "firestore":     firestore_integration_test.go:205: got map[my-simple-tool:map[authRequired:[] description:Simple tool to test end to end functionality. parameters:[map[authSources:[] description:Array of relative document paths to retrieve from Firestore (e.g., 'users/userId' or 'users/userId/posts/postId'). Note: These are relative paths, NOT absolute paths like 'projects/{project_id}/databases/{database_id}/documents/...' items:map[authSources:[] description:Relative document path name:item required:true type:string] name:documentPaths required:true type:array]]]], want map[my-simple-tool:map[authRequired:[] description:Simple tool to test end to end functionality. parameters:[map[authSources:[] description:Array of document paths to retrieve from Firestore. items:map[authSources:[] description:Document path name:item required:true type:string] name:documentPaths required:true type:array]]]]
Step #24 - "firestore": 2025-10-29T21:20:43.86301046Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000002"} httpResponse: {status: 200 bytes: 196 elapsed: 0.456570} 
Step #24 - "firestore": 2025-10-29T21:20:43.864012859Z INFO Response: 202 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000003"} httpResponse: {status: 202 bytes: 0 elapsed: 0.277730} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/MCP_Invoke_my-param-tool
Step #19 - "sqlite": Calculating coverage for SQLite...
Step #24 - "firestore": 2025-10-29T21:20:43.900577972Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000004"} httpResponse: {status: 200 bytes: 384 elapsed: 35.701393} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/MCP_Invoke_invalid_tool
Step #24 - "firestore": 2025-10-29T21:20:43.901863611Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000005"} httpResponse: {status: 200 bytes: 131 elapsed: 0.290540} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/MCP_Invoke_my-param-tool_without_parameters
Step #24 - "firestore": 2025-10-29T21:20:43.903184151Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000006"} httpResponse: {status: 200 bytes: 160 elapsed: 0.240159} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/MCP_Invoke_my-auth-required-tool
Step #24 - "firestore": 2025-10-29T21:20:43.90470884Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000007"} httpResponse: {status: 200 bytes: 165 elapsed: 0.309990} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/MCP_Invoke_my-fail-tool
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/get_my-simple-tool
Step #28 - "firebird": 2025-10-29T21:20:43.919372013Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/" method: "GET" path: "/api/tool/my-simple-tool/" remoteIP: "127.0.0.1:52154" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000001"} httpResponse: {status: 200 bytes: 168 elapsed: 0.598640} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/invoke_my-simple-tool
Step #34 - "serverless-spark": Calculating coverage for Serverless Spark...
Step #28 - "firebird": 2025-10-29T21:20:43.935426835Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-simple-tool/invoke" method: "POST" path: "/api/tool/my-simple-tool/invoke" remoteIP: "127.0.0.1:52154" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000002"} httpResponse: {status: 200 bytes: 32 elapsed: 10.136005} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/invoke_my-tool
Step #24 - "firestore": 2025-10-29T21:20:43.940848522Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000008"} httpResponse: {status: 200 bytes: 140 elapsed: 34.958564} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/get_single_document
Step #28 - "firebird": 2025-10-29T21:20:43.948401529Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool/invoke" method: "POST" path: "/api/tool/my-tool/invoke" remoteIP: "127.0.0.1:52154" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000003"} httpResponse: {status: 200 bytes: 73 elapsed: 11.679004} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/invoke_my-tool-by-id_with_nil_response
Step #4 - "alloydb-pg": === RUN   TestAlloyDBPgToolEndpoints
Step #28 - "firebird": 2025-10-29T21:20:43.959355854Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool-by-id/invoke" method: "POST" path: "/api/tool/my-tool-by-id/invoke" remoteIP: "127.0.0.1:52154" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000004"} httpResponse: {status: 200 bytes: 40 elapsed: 9.625186} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/invoke_my-tool-by-name_with_nil_response
Step #28 - "firebird": 2025-10-29T21:20:43.969994949Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool-by-name/invoke" method: "POST" path: "/api/tool/my-tool-by-name/invoke" remoteIP: "127.0.0.1:52154" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000005"} httpResponse: {status: 200 bytes: 40 elapsed: 9.398776} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/Invoke_my-tool_without_parameters
Step #28 - "firebird": 2025-10-29T21:20:43.971548828Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool/invoke" method: "POST" path: "/api/tool/my-tool/invoke" remoteIP: "127.0.0.1:52154" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000006"} httpResponse: {status: 400 bytes: 98 elapsed: 0.344650} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/Invoke_my-tool_with_insufficient_parameters
Step #28 - "firebird": 2025-10-29T21:20:43.972917507Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-tool/invoke" method: "POST" path: "/api/tool/my-tool/invoke" remoteIP: "127.0.0.1:52162" proto: "HTTP/1.1" requestID: "5c18e08872b1/DLM2JIKXr6-000007"} httpResponse: {status: 400 bytes: 100 elapsed: 0.247709} 
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/invoke_my-array-tool
Step #28 - "firebird": === RUN   TestFirebirdToolEndpoints/Invoke_my-auth-tool_with_auth_token
Step #24 - "firestore": 2025-10-29T21:20:43.975266026Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/firestore-get-docs/invoke" method: "POST" path: "/api/tool/firestore-get-docs/invoke" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000009"} httpResponse: {status: 200 bytes: 312 elapsed: 33.449024} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/get_multiple_documents
Step #24 - "firestore": 2025-10-29T21:20:43.989618019Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/firestore-get-docs/invoke" method: "POST" path: "/api/tool/firestore-get-docs/invoke" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000010"} httpResponse: {status: 200 bytes: 607 elapsed: 13.053323} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/get_non-existent_document
Step #24 - "firestore": 2025-10-29T21:20:44.026381352Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/firestore-get-docs/invoke" method: "POST" path: "/api/tool/firestore-get-docs/invoke" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000011"} httpResponse: {status: 200 bytes: 88 elapsed: 35.184273} 
Step #24 - "firestore": === RUN   TestFirestoreToolEndpoints/missing_documentPaths_parameter
Step #24 - "firestore": 2025-10-29T21:20:44.027912411Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/firestore-get-docs/invoke" method: "POST" path: "/api/tool/firestore-get-docs/invoke" remoteIP: "127.0.0.1:52146" proto: "HTTP/1.1" requestID: "271c0305c648/rSW6nHX9V0-000012"} httpResponse: {status: 400 bytes: 109 elapsed: 0.283920} 

Build Log: https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%228afc6dce-bcdd-4b49-92a1-84baea5796ea%22+AND+resource.labels.build_trigger_id%3D%22785da918-06f1-47bb-860c-fbabc80b5977%22&project=toolbox-testing-438616