feat: add support for DuckDB#879
Merged
Merged
Google Cloud Build / integration-test-pr (toolbox-testing-438616)
succeeded
Jul 29, 2025 in 5m 13s
Summary
Build Information
| Trigger | integration-test-pr |
| Build | 69db88df-e7dd-4025-91cd-dfb0d3c12687 |
| Start | 2025-07-29T14:10:05-07:00 |
| Duration | 4m24.177s |
| Status | SUCCESS |
Steps
| Step | Status | Duration |
|---|---|---|
| install-dependencies | SUCCESS | 25.538s |
| compile-test-binary | SUCCESS | 1m41.467s |
| cloud-sql-pg | SUCCESS | 18.169s |
| alloydb-pg | SUCCESS | 21.244s |
| alloydb-ai-nl | SUCCESS | 8.576s |
| bigtable | SUCCESS | 15.689s |
| bigquery | SUCCESS | 43.132s |
| dataplex | SUCCESS | 2m9.342s |
| postgres | SUCCESS | 8.505s |
| spanner | SUCCESS | 1m15.226s |
| neo4j | SUCCESS | 6.581s |
| cloud-sql-mssql | SUCCESS | 5.789s |
| cloud-sql-mysql | SUCCESS | 8.397s |
| mysql | SUCCESS | 6.973s |
| mssql | SUCCESS | 5.128s |
| dgraph | SUCCESS | 4.157s |
| http | SUCCESS | 4.069s |
| sqlite | SUCCESS | 4.435s |
| couchbase | SUCCESS | 25.746s |
| redis | SUCCESS | 5.446s |
| valkey | SUCCESS | 5.335s |
| firestore | SUCCESS | 5.36s |
| looker | SUCCESS | 12.691s |
| duckdb | SUCCESS | 3.952s |
| alloydbwaitforoperation | SUCCESS | 4.244s |
Details
starting build "69db88df-e7dd-4025-91cd-dfb0d3c12687"
FETCHSOURCE
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /workspace/.git/
From https://github.com/googleapis/genai-toolbox
* branch b28df50d9f464b529e592131dae75c88aa24a0f0 -> FETCH_HEAD
HEAD is now at b28df50 Merge branch 'main' into feat/duckdb
GitCommit:
b28df50d9f464b529e592131dae75c88aa24a0f0
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": ebed137c7c18: Pulling fs layer
Step #0 - "install-dependencies": c2e76af9483f: Pulling fs layer
Step #0 - "install-dependencies": 37f838b71c6b: Pulling fs layer
Step #0 - "install-dependencies": a73486c29d94: Pulling fs layer
Step #0 - "install-dependencies": a3e4aa2eec44: Pulling fs layer
Step #0 - "install-dependencies": 85db7d6e6763: Pulling fs layer
Step #0 - "install-dependencies": 4f4fb700ef54: Pulling fs layer
Step #0 - "install-dependencies": a3e4aa2eec44: Waiting
Step #0 - "install-dependencies": 85db7d6e6763: Waiting
Step #0 - "install-dependencies": 4f4fb700ef54: Waiting
Step #0 - "install-dependencies": a73486c29d94: Waiting
Step #0 - "install-dependencies": c2e76af9483f: Verifying Checksum
Step #0 - "install-dependencies": c2e76af9483f: Download complete
Step #0 - "install-dependencies": ebed137c7c18: Verifying Checksum
Step #0 - "install-dependencies": ebed137c7c18: Download complete
Step #0 - "install-dependencies": 37f838b71c6b: Verifying Checksum
Step #0 - "install-dependencies": 37f838b71c6b: Download complete
Step #0 - "install-dependencies": 85db7d6e6763: Verifying Checksum
Step #0 - "install-dependencies": 85db7d6e6763: Download complete
Step #0 - "install-dependencies": 4f4fb700ef54: Verifying Checksum
Step #0 - "install-dependencies": 4f4fb700ef54: Download complete
Step #0 - "install-dependencies": a73486c29d94: Verifying Checksum
Step #0 - "install-dependencies": a73486c29d94: Download complete
Step #0 - "install-dependencies": a3e4aa2eec44: Verifying Checksum
Step #0 - "install-dependencies": a3e4aa2eec44: Download complete
Step #0 - "install-dependencies": ebed137c7c18: Pull complete
Step #0 - "install-dependencies": c2e76af9483f: Pull complete
Step #0 - "install-dependencies": 37f838b71c6b: Pull complete
Step #0 - "install-dependencies": a73486c29d94: Pull complete
Step #0 - "install-dependencies": a3e4aa2eec44: Pull complete
Step #0 - "install-dependencies": 85db7d6e6763: Pull complete
Step #0 - "install-dependencies": 4f4fb700ef54: Pull complete
Step #0 - "install-dependencies": Digest: sha256:ef5b4be1f94b36c90385abd9b6b4f201723ae28e71acacb76d00687333c17282
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 github.com/goccy/go-yaml v1.18.0
Step #0 - "install-dependencies": go: downloading github.com/jackc/pgx/v5 v5.7.5
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/trace v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/redis/go-redis/v9 v9.11.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/bigquery v1.69.0
Step #0 - "install-dependencies": go: downloading github.com/marcboeker/go-duckdb/v2 v2.3.3
Step #0 - "install-dependencies": go: downloading golang.org/x/oauth2 v0.30.0
Step #0 - "install-dependencies": go: downloading google.golang.org/api v0.243.0
Step #0 - "install-dependencies": go: downloading modernc.org/sqlite v1.38.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/spanner v1.83.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/cloudsqlconn v1.17.3
Step #0 - "install-dependencies": go: downloading github.com/valkey-io/valkey-go v1.0.63
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/microsoft/go-mssqldb v1.9.2
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/bigtable v1.38.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/dataplex v1.26.0
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/looker-open-source/sdk-codegen/go v0.25.10
Step #0 - "install-dependencies": go: downloading go.mongodb.org/mongo-driver v1.17.4
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocb/v2 v2.10.1
Step #0 - "install-dependencies": go: downloading github.com/neo4j/neo4j-go-driver/v5 v5.28.1
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/firestore v1.18.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/propagators/autoprop v0.62.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/alloydbconn v1.15.4
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/go-chi/chi/v5 v5.2.2
Step #0 - "install-dependencies": go: downloading github.com/couchbase/tools-common/http v1.0.9
Step #0 - "install-dependencies": go: downloading github.com/fsnotify/fsnotify v1.9.0
Step #0 - "install-dependencies": go: downloading github.com/spf13/cobra v1.9.1
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/thlib/go-timezone-local v0.0.7
Step #0 - "install-dependencies": go: downloading cloud.google.com/go v0.121.2
Step #0 - "install-dependencies": go: downloading github.com/go-chi/httplog/v2 v2.1.1
Step #0 - "install-dependencies": go: downloading github.com/json-iterator/go v1.1.12
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/go-chi/render v1.0.3
Step #0 - "install-dependencies": go: downloading github.com/go-playground/validator/v10 v10.27.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.37.0
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/otel/metric v1.37.0
Step #0 - "install-dependencies": go: downloading github.com/google/uuid v1.6.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 cloud.google.com/go/monitoring v1.24.2
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.53.0
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-20250603155806-513f23925822
Step #0 - "install-dependencies": go: downloading google.golang.org/grpc v1.73.0
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto v0.0.0-20250603155806-513f23925822
Step #0 - "install-dependencies": go: downloading google.golang.org/protobuf v1.36.6
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/trace v1.11.6
Step #0 - "install-dependencies": go: downloading google.golang.org/genproto/googleapis/rpc v0.0.0-20250715232539-7130f93afb79
Step #0 - "install-dependencies": go: downloading filippo.io/edwards25519 v1.1.0
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 cloud.google.com/go/compute/metadata v0.7.0
Step #0 - "install-dependencies": go: downloading gopkg.in/ini.v1 v1.67.0
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.40.0
Step #0 - "install-dependencies": go: downloading github.com/apache/arrow-go/v18 v18.1.0
Step #0 - "install-dependencies": go: downloading github.com/go-viper/mapstructure/v2 v2.2.1
Step #0 - "install-dependencies": go: downloading github.com/marcboeker/go-duckdb/arrowmapping v0.0.10
Step #0 - "install-dependencies": go: downloading github.com/marcboeker/go-duckdb/mapping v0.0.11
Step #0 - "install-dependencies": go: downloading golang.org/x/sys v0.34.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/inconshreveable/mousetrap v1.1.0
Step #0 - "install-dependencies": go: downloading github.com/spf13/pflag v1.0.6
Step #0 - "install-dependencies": go: downloading github.com/ajg/form v1.5.1
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 cloud.google.com/go/alloydb v1.18.0
Step #0 - "install-dependencies": go: downloading golang.org/x/net v0.42.0
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/auth v0.16.3
Step #0 - "install-dependencies": go: downloading cloud.google.com/go/auth/oauth2adapt v0.2.8
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 github.com/couchbase/gocbcore/v10 v10.7.1
Step #0 - "install-dependencies": go: downloading github.com/couchbase/gocbcoreps v0.1.3
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-20240607131231-fb385523de28
Step #0 - "install-dependencies": go: downloading github.com/golang/snappy v0.0.4
Step #0 - "install-dependencies": go: downloading go.uber.org/zap v1.27.0
Step #0 - "install-dependencies": go: downloading golang.org/x/time v0.12.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 golang.org/x/text v0.27.0
Step #0 - "install-dependencies": go: downloading github.com/gabriel-vasile/mimetype v1.4.8
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 github.com/jackc/puddle/v2 v2.2.2
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 go.opentelemetry.io/contrib/detectors/gcp v1.36.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.16.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 go.uber.org/multierr v1.11.0
Step #0 - "install-dependencies": go: downloading github.com/duckdb/duckdb-go-bindings v0.1.17
Step #0 - "install-dependencies": go: downloading github.com/duckdb/duckdb-go-bindings/darwin-amd64 v0.1.12
Step #0 - "install-dependencies": go: downloading github.com/duckdb/duckdb-go-bindings/darwin-arm64 v0.1.12
Step #0 - "install-dependencies": go: downloading github.com/duckdb/duckdb-go-bindings/linux-amd64 v0.1.12
Step #0 - "install-dependencies": go: downloading github.com/duckdb/duckdb-go-bindings/linux-arm64 v0.1.12
Step #0 - "install-dependencies": go: downloading github.com/duckdb/duckdb-go-bindings/windows-amd64 v0.1.12
Step #0 - "install-dependencies": go: downloading go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.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.61.0
Step #0 - "install-dependencies": go: downloading github.com/gorilla/websocket v1.5.3
Step #0 - "install-dependencies": go: downloading github.com/go-playground/locales v0.14.1
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/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8
Step #0 - "install-dependencies": go: downloading golang.org/x/exp v0.0.0-20250408133849-7e4ce0ab07d0
Step #0 - "install-dependencies": go: downloading golang.org/x/tools v0.34.0
Step #0 - "install-dependencies": go: downloading golang.org/x/xerrors v0.0.0-20240903120638-7835f813f4da
Step #0 - "install-dependencies": go: downloading github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.27.0
Step #0 - "install-dependencies": go: downloading github.com/cenkalti/backoff/v5 v5.0.2
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/envoyproxy/go-control-plane/envoy v1.32.4
Step #0 - "install-dependencies": go: downloading github.com/felixge/httpsnoop v1.0.4
Step #0 - "install-dependencies": go: downloading github.com/klauspost/compress v1.17.11
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/grpc-ecosystem/grpc-gateway/v2 v2.27.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/google/flatbuffers v25.1.24+incompatible
Step #0 - "install-dependencies": go: downloading github.com/pierrec/lz4/v4 v4.1.22
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-20250326154945-ae57f3c0d45f
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.9
Step #0 - "install-dependencies": go: downloading github.com/go-jose/go-jose/v4 v4.0.5
Step #0 - "install-dependencies": go: downloading github.com/zeebo/errs v1.4.0
Step #0 - "install-dependencies": go: downloading cel.dev/expr v0.23.0
Step #0 - "install-dependencies": go: downloading github.com/envoyproxy/protoc-gen-validate v1.2.1
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.25.0
Step #0 - "install-dependencies": go: downloading modernc.org/libc v1.65.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/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/ncruces/go-strftime v0.1.9
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": ? github.com/googleapis/genai-toolbox/tests [no test files]
Finished Step #1 - "compile-test-binary"
Starting Step #24 - "alloydbwaitforoperation"
Starting Step #23 - "duckdb"
Starting Step #3 - "alloydb-pg"
Starting Step #12 - "cloud-sql-mysql"
Starting Step #11 - "cloud-sql-mssql"
Starting Step #10 - "neo4j"
Starting Step #9 - "spanner"
Starting Step #8 - "postgres"
Starting Step #6 - "bigquery"
Starting Step #2 - "cloud-sql-pg"
Starting Step #5 - "bigtable"
Starting Step #13 - "mysql"
Starting Step #7 - "dataplex"
Starting Step #4 - "alloydb-ai-nl"
Starting Step #18 - "couchbase"
Starting Step #17 - "sqlite"
Starting Step #20 - "valkey"
Starting Step #16 - "http"
Starting Step #15 - "dgraph"
Starting Step #14 - "mssql"
Starting Step #19 - "redis"
Starting Step #22 - "looker"
Starting Step #21 - "firestore"
Step #9 - "spanner": Already have image (with digest): golang:1
Step #2 - "cloud-sql-pg": Already have image (with digest): golang:1
Step #16 - "http": Already have image (with digest): golang:1
Step #5 - "bigtable": Already have image (with digest): golang:1
Step #14 - "mssql": Already have image (with digest): golang:1
Step #22 - "looker": Already have image (with digest): golang:1
Step #18 - "couchbase": Already have image (with digest): golang:1
Step #4 - "alloydb-ai-nl": Already have image (with digest): golang:1
Step #24 - "alloydbwaitforoperation": Already have image (with digest): golang:1
Step #15 - "dgraph": Already have image (with digest): golang:1
Step #8 - "postgres": Already have image (with digest): golang:1
Step #10 - "neo4j": Already have image (with digest): golang:1
Step #21 - "firestore": Already have image (with digest): golang:1
Step #23 - "duckdb": Already have image (with digest): golang:1
Step #13 - "mysql": Already have image (with digest): golang:1
Step #6 - "bigquery": Already have image (with digest): golang:1
Step #19 - "redis": Already have image (with digest): golang:1
Step #20 - "valkey": Already have image (with digest): golang:1
Step #3 - "alloydb-pg": Already have image (with digest): golang:1
Step #11 - "cloud-sql-mssql": Already have image (with digest): golang:1
Step #7 - "dataplex": Already have image (with digest): golang:1
Step #12 - "cloud-sql-mysql": Already have image (with digest): golang:1
Step #17 - "sqlite": Already have image (with digest): golang:1
Step #15 - "dgraph": === RUN TestDgraphToolEndpoints
Step #23 - "duckdb": === RUN TestDuckDb
Step #23 - "duckdb": === RUN TestDuckDb/get_my-simple-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.244377233Z 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:34938" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000001"} httpResponse: {status: 200 bytes: 168 elapsed: 0.490960}
Step #23 - "duckdb": === RUN TestDuckDb/invoke_my-simple-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.382650689Z 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:34938" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000002"} httpResponse: {status: 200 bytes: 25 elapsed: 1.281072}
Step #23 - "duckdb": === RUN TestDuckDb/invoke_my-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.386326124Z 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:34938" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000003"} httpResponse: {status: 200 bytes: 55 elapsed: 2.420753}
Step #23 - "duckdb": === RUN TestDuckDb/invoke_my-tool-by-id_with_nil_response
Step #23 - "duckdb": 2025-07-29T21:12:17.38983017Z 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:34938" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000004"} httpResponse: {status: 200 bytes: 40 elapsed: 2.391943}
Step #23 - "duckdb": === RUN TestDuckDb/invoke_my-tool-by-name_with_nil_response
Step #23 - "duckdb": 2025-07-29T21:12:17.392676733Z 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:34938" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000005"} httpResponse: {status: 200 bytes: 18 elapsed: 1.617992}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-tool_without_parameters
Step #23 - "duckdb": 2025-07-29T21:12:17.394072685Z 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:34938" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000006"} httpResponse: {status: 400 bytes: 98 elapsed: 0.314480}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-tool_with_insufficient_parameters
Step #23 - "duckdb": 2025-07-29T21:12:17.396160228Z 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:34950" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000007"} httpResponse: {status: 400 bytes: 100 elapsed: 0.354370}
Step #23 - "duckdb": === RUN TestDuckDb/invoke_my-array-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.401816567Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-array-tool/invoke" method: "POST" path: "/api/tool/my-array-tool/invoke" remoteIP: "127.0.0.1:34960" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000008"} httpResponse: {status: 200 bytes: 55 elapsed: 4.122855}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-auth-tool_with_auth_token
Step #5 - "bigtable": === RUN TestBigtableToolEndpoints
Step #24 - "alloydbwaitforoperation": === RUN TestWaitToolEndpoints
Step #24 - "alloydbwaitforoperation": === RUN TestWaitToolEndpoints/successful_operation
Step #24 - "alloydbwaitforoperation": 2025-07-29T21:12:17.460022619Z 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:34974" proto: "HTTP/1.1" requestID: "864a383f6662/aDYulc4VFO-000001"} httpResponse: {status: 200 bytes: 96 elapsed: 2.407093}
Step #24 - "alloydbwaitforoperation": === RUN TestWaitToolEndpoints/failed_operation
Step #24 - "alloydbwaitforoperation": 2025-07-29T21:12:17.462118082Z 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:34974" proto: "HTTP/1.1" requestID: "864a383f6662/aDYulc4VFO-000002"} httpResponse: {status: 400 bytes: 174 elapsed: 1.066922}
Step #24 - "alloydbwaitforoperation": --- PASS: TestWaitToolEndpoints (0.02s)
Step #24 - "alloydbwaitforoperation": --- PASS: TestWaitToolEndpoints/successful_operation (0.00s)
Step #24 - "alloydbwaitforoperation": --- PASS: TestWaitToolEndpoints/failed_operation (0.00s)
Step #24 - "alloydbwaitforoperation": PASS
Step #24 - "alloydbwaitforoperation": coverage: 4.8% of statements in ./internal/sources/..., ./internal/tools/...
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints
Step #23 - "duckdb": 2025-07-29T21:12:17.519736454Z 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:34960" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000009"} httpResponse: {status: 200 bytes: 36 elapsed: 116.662946}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-auth-tool_with_invalid_auth_token
Step #23 - "duckdb": 2025-07-29T21:12:17.521308846Z INFO Response: 400 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:34960" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000010"} httpResponse: {status: 400 bytes: 159 elapsed: 0.348880}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-auth-tool_without_auth_token
Step #23 - "duckdb": 2025-07-29T21:12:17.522983059Z INFO Response: 400 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:34990" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000011"} httpResponse: {status: 400 bytes: 159 elapsed: 0.325451}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-auth-required-tool_with_auth_token
Step #23 - "duckdb": 2025-07-29T21:12:17.526358513Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-required-tool/invoke" method: "POST" path: "/api/tool/my-auth-required-tool/invoke" remoteIP: "127.0.0.1:35004" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000012"} httpResponse: {status: 200 bytes: 25 elapsed: 1.967142}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-auth-required-tool_with_invalid_auth_token
Step #23 - "duckdb": 2025-07-29T21:12:17.527563375Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-required-tool/invoke" method: "POST" path: "/api/tool/my-auth-required-tool/invoke" remoteIP: "127.0.0.1:35004" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000013"} httpResponse: {status: 401 bytes: 119 elapsed: 0.137010}
Step #23 - "duckdb": === RUN TestDuckDb/Invoke_my-auth-required-tool_without_auth_token
Step #23 - "duckdb": 2025-07-29T21:12:17.529299878Z INFO Response: 400 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:35010" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000014"} httpResponse: {status: 400 bytes: 159 elapsed: 0.354411}
Step #23 - "duckdb": 2025-07-29T21:12:17.53126217Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000015"} httpResponse: {status: 200 bytes: 196 elapsed: 0.712511}
Step #23 - "duckdb": 2025-07-29T21:12:17.532373142Z INFO Response: 202 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000016"} httpResponse: {status: 202 bytes: 0 elapsed: 0.300381}
Step #23 - "duckdb": === RUN TestDuckDb/MCP_Invoke_my-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.535947877Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000017"} httpResponse: {status: 200 bytes: 146 elapsed: 2.536924}
Step #23 - "duckdb": === RUN TestDuckDb/MCP_Invoke_invalid_tool
Step #23 - "duckdb": 2025-07-29T21:12:17.537351579Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000018"} httpResponse: {status: 200 bytes: 131 elapsed: 0.405761}
Step #23 - "duckdb": === RUN TestDuckDb/MCP_Invoke_my-tool_without_parameters
Step #23 - "duckdb": 2025-07-29T21:12:17.538561041Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000019"} httpResponse: {status: 200 bytes: 149 elapsed: 0.313591}
Step #23 - "duckdb": === RUN TestDuckDb/MCP_Invoke_my-tool_with_insufficient_parameters
Step #23 - "duckdb": 2025-07-29T21:12:17.539724922Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000020"} httpResponse: {status: 200 bytes: 156 elapsed: 0.278521}
Step #23 - "duckdb": === RUN TestDuckDb/MCP_Invoke_my-auth-required-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.541142994Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/mcp" method: "POST" path: "/mcp" remoteIP: "127.0.0.1:35026" proto: "HTTP/1.1" requestID: "7266e61f29d9/3Sq2bnwylY-000021"} httpResponse: {status: 200 bytes: 156 elapsed: 0.394500}
Step #23 - "duckdb": === RUN TestDuckDb/MCP_Invoke_my-fail-tool
Step #23 - "duckdb": 2025-07-29T21:12:17.542789037Z INFO Response: 200 OK service: "httplog" httpRequest:
...
[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%2269db88df-e7dd-4025-91cd-dfb0d3c12687%22+AND+resource.labels.build_trigger_id%3D%22785da918-06f1-47bb-860c-fbabc80b5977%22&project=toolbox-testing-438616.]
...
.1:5000/api/tool/insert-table-templateParams-tool/invoke" method: "POST" path: "/api/tool/insert-table-templateParams-tool/invoke" remoteIP: "127.0.0.1:48438" proto: "HTTP/1.1" requestID: "8b26eecca08d/cTFXf3MC0j-000039"} httpResponse: {status: 200 bytes: 18 elapsed: 32.508236}
Step #9 - "spanner": === RUN TestSpannerToolEndpoints/invoke_insert-table-templateParams-tool#01
Step #9 - "spanner": 2025-07-29T21:12:50.13648203Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/insert-table-templateParams-tool/invoke" method: "POST" path: "/api/tool/insert-table-templateParams-tool/invoke" remoteIP: "127.0.0.1:48438" proto: "HTTP/1.1" requestID: "8b26eecca08d/cTFXf3MC0j-000040"} httpResponse: {status: 200 bytes: 18 elapsed: 22.276772}
Step #9 - "spanner": === RUN TestSpannerToolEndpoints/invoke_select-templateParams-tool
Step #9 - "spanner": 2025-07-29T21:12:50.156460538Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/select-templateParams-tool/invoke" method: "POST" path: "/api/tool/select-templateParams-tool/invoke" remoteIP: "127.0.0.1:48438" proto: "HTTP/1.1" requestID: "8b26eecca08d/cTFXf3MC0j-000041"} httpResponse: {status: 200 bytes: 113 elapsed: 18.750947}
Step #9 - "spanner": === RUN TestSpannerToolEndpoints/invoke_select-templateParams-combined-tool
Step #9 - "spanner": 2025-07-29T21:12:50.179640161Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/select-templateParams-combined-tool/invoke" method: "POST" path: "/api/tool/select-templateParams-combined-tool/invoke" remoteIP: "127.0.0.1:48438" proto: "HTTP/1.1" requestID: "8b26eecca08d/cTFXf3MC0j-000042"} httpResponse: {status: 200 bytes: 63 elapsed: 20.796379}
Step #9 - "spanner": === RUN TestSpannerToolEndpoints/invoke_select-fields-templateParams-tool
Step #9 - "spanner": 2025-07-29T21:12:50.200837751Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/select-fields-templateParams-tool/invoke" method: "POST" path: "/api/tool/select-fields-templateParams-tool/invoke" remoteIP: "127.0.0.1:48438" proto: "HTTP/1.1" requestID: "8b26eecca08d/cTFXf3MC0j-000043"} httpResponse: {status: 200 bytes: 56 elapsed: 19.986718}
Step #9 - "spanner": === RUN TestSpannerToolEndpoints/invoke_select-filter-templateParams-combined-tool
Step #6 - "bigquery": 2025-07-29T21:12:50.217889646Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-dataset-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-dataset-ids-tool/invoke" remoteIP: "127.0.0.1:53864" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000044"} httpResponse: {status: 400 bytes: 209 elapsed: 466.613053}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-auth-list-dataset-ids-tool
Step #9 - "spanner": 2025-07-29T21:12:50.222607162Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/select-filter-templateParams-combined-tool/invoke" method: "POST" path: "/api/tool/select-filter-templateParams-combined-tool/invoke" remoteIP: "127.0.0.1:48438" proto: "HTTP/1.1" requestID: "8b26eecca08d/cTFXf3MC0j-000044"} httpResponse: {status: 200 bytes: 63 elapsed: 20.551709}
Step #9 - "spanner": === RUN TestSpannerToolEndpoints/invoke_drop-table-templateParams-tool
Step #6 - "bigquery": 2025-07-29T21:12:53.766910715Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-dataset-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-dataset-ids-tool/invoke" remoteIP: "127.0.0.1:48446" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000045"} httpResponse: {status: 200 bytes: 18292 elapsed: 3547.673518}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-get-dataset-info-tool_without_body
Step #6 - "bigquery": 2025-07-29T21:12:53.771020971Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48446" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000046"} httpResponse: {status: 400 bytes: 103 elapsed: 0.252481}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-get-dataset-info-tool
Step #6 - "bigquery": 2025-07-29T21:12:53.926175962Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48454" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000047"} httpResponse: {status: 200 bytes: 1222 elapsed: 153.579399}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_correct_project
Step #6 - "bigquery": 2025-07-29T21:12:54.12208395Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48454" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000048"} httpResponse: {status: 200 bytes: 1222 elapsed: 194.572226}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_non-existent_project
Step #6 - "bigquery": 2025-07-29T21:12:54.202303825Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48454" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000049"} httpResponse: {status: 400 bytes: 440 elapsed: 79.091693}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-auth-get-dataset-info-tool_without_body
Step #6 - "bigquery": 2025-07-29T21:12:54.204202228Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48458" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000050"} httpResponse: {status: 400 bytes: 103 elapsed: 0.356160}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:54.421145906Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48460" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000051"} httpResponse: {status: 200 bytes: 1222 elapsed: 215.290126}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_invalid_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:54.422758018Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48460" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000052"} httpResponse: {status: 401 bytes: 119 elapsed: 0.179220}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_without_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:54.42430959Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-dataset-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-dataset-info-tool/invoke" remoteIP: "127.0.0.1:48466" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000053"} httpResponse: {status: 401 bytes: 119 elapsed: 0.191570}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-list-table-ids-tool_without_body
Step #6 - "bigquery": 2025-07-29T21:12:54.427047774Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48478" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000054"} httpResponse: {status: 400 bytes: 103 elapsed: 0.299470}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-list-table-ids-tool
Step #6 - "bigquery": 2025-07-29T21:12:54.562211117Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48492" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000055"} httpResponse: {status: 200 bytes: 112 elapsed: 133.787871}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-list-table-ids-tool_without_body#01
Step #6 - "bigquery": 2025-07-29T21:12:54.563457769Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48492" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000056"} httpResponse: {status: 400 bytes: 103 elapsed: 0.324590}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:54.698815341Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48496" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000057"} httpResponse: {status: 200 bytes: 112 elapsed: 133.993630}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_correct_project
Step #6 - "bigquery": 2025-07-29T21:12:54.821868806Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48496" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000058"} httpResponse: {status: 200 bytes: 112 elapsed: 121.786253}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_non-existent_project
Step #6 - "bigquery": 2025-07-29T21:12:54.898992536Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48496" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000059"} httpResponse: {status: 400 bytes: 436 elapsed: 76.168829}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_invalid_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:54.900508648Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48502" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000060"} httpResponse: {status: 401 bytes: 119 elapsed: 0.165520}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_without_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:54.90198266Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-list-table-ids-tool/invoke" method: "POST" path: "/api/tool/my-auth-list-table-ids-tool/invoke" remoteIP: "127.0.0.1:48516" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000061"} httpResponse: {status: 401 bytes: 119 elapsed: 0.172700}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-get-table-info-tool_without_body
Step #6 - "bigquery": 2025-07-29T21:12:54.904466194Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48528" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000062"} httpResponse: {status: 400 bytes: 103 elapsed: 0.217630}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-get-table-info-tool
Step #6 - "bigquery": 2025-07-29T21:12:55.063121549Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48540" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000063"} httpResponse: {status: 200 bytes: 1495 elapsed: 157.548934}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/invoke_my-auth-get-table-info-tool_without_body
Step #6 - "bigquery": 2025-07-29T21:12:55.064747982Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48540" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000064"} httpResponse: {status: 400 bytes: 103 elapsed: 0.215271}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:55.215137926Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48546" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000065"} httpResponse: {status: 200 bytes: 1495 elapsed: 148.993731}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_correct_project
Step #6 - "bigquery": 2025-07-29T21:12:55.371671688Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48546" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000066"} httpResponse: {status: 200 bytes: 1495 elapsed: 155.283231}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_non-existent_project
Step #6 - "bigquery": 2025-07-29T21:12:55.405584816Z INFO Response: 400 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48546" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000067"} httpResponse: {status: 400 bytes: 507 elapsed: 32.563177}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_invalid_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:55.407113549Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48550" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000068"} httpResponse: {status: 401 bytes: 119 elapsed: 0.176170}
Step #6 - "bigquery": === RUN TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_without_auth_token
Step #6 - "bigquery": 2025-07-29T21:12:55.408643841Z INFO Response: 401 Client Error service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-auth-get-table-info-tool/invoke" method: "POST" path: "/api/tool/my-auth-get-table-info-tool/invoke" remoteIP: "127.0.0.1:48556" proto: "HTTP/1.1" requestID: "f7cbd752b34a/xUmbsocyyh-000069"} httpResponse: {status: 401 bytes: 119 elapsed: 0.266941}
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints (40.11s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/get_my-simple-tool (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-simple-tool (0.37s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-tool (0.59s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-tool-by-id_with_nil_response (0.58s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-tool-by-name_with_nil_response (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-tool_without_parameters (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-array-tool (0.58s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-tool_with_auth_token (0.45s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-tool_with_invalid_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-tool_without_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-required-tool_with_auth_token (0.36s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-required-tool_with_invalid_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-required-tool_without_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/MCP_Invoke_my-tool (0.39s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/MCP_Invoke_invalid_tool (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/MCP_Invoke_my-tool_without_parameters (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/MCP_Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/MCP_Invoke_my-auth-required-tool (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/MCP_Invoke_my-fail-tool (0.13s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_create-table-templateParams-tool (0.47s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_insert-table-templateParams-tool (2.02s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_insert-table-templateParams-tool#01 (2.98s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_select-templateParams-tool (0.79s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_select-templateParams-combined-tool (0.61s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_select-fields-templateParams-tool (0.63s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_select-filter-templateParams-combined-tool (0.49s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_drop-table-templateParams-tool (0.52s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_without_body (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool (0.66s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_create_table (0.09s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_with_data_present_in_table (0.95s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_with_no_matching_rows (0.96s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_drop_table (0.08s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_insert_entry (2.54s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-exec-sql-tool_without_body#01 (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-exec-sql-tool_with_auth_token (0.51s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-exec-sql-tool_with_invalid_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-exec-sql-tool_without_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-list-dataset-ids-tool (3.70s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-list-dataset-ids-tool_with_project (3.30s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-list-dataset-ids-tool_with_non-existent_project (0.47s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-auth-list-dataset-ids-tool (3.55s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-get-dataset-info-tool_without_body (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-get-dataset-info-tool (0.16s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_correct_project (0.20s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_non-existent_project (0.08s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-auth-get-dataset-info-tool_without_body (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_auth_token (0.22s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_with_invalid_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-dataset-info-tool_without_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-list-table-ids-tool_without_body (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-list-table-ids-tool (0.14s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-list-table-ids-tool_without_body#01 (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_auth_token (0.14s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_correct_project (0.12s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_non-existent_project (0.08s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_with_invalid_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-list-table-ids-tool_without_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-get-table-info-tool_without_body (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-get-table-info-tool (0.16s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/invoke_my-auth-get-table-info-tool_without_body (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_auth_token (0.15s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_correct_project (0.16s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_non-existent_project (0.03s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_with_invalid_auth_token (0.00s)
Step #6 - "bigquery": --- PASS: TestBigQueryToolEndpoints/Invoke_my-auth-get-table-info-tool_without_auth_token (0.00s)
Step #6 - "bigquery": PASS
Step #6 - "bigquery": coverage: 11.8% of statements in ./internal/sources/..., ./internal/tools/...
Step #6 - "bigquery": Calculating coverage for BigQuery...
Step #6 - "bigquery": BigQuery total coverage: 83.5%
Step #6 - "bigquery": Coverage for BigQuery is sufficient.
Finished Step #6 - "bigquery"
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints (71.57s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/get_my-simple-tool (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-simple-tool (0.44s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-tool-by-id_with_nil_response (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-tool-by-name_with_nil_response (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-tool_without_parameters (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-array-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-tool_with_auth_token (0.04s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-tool_with_invalid_auth_token (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-tool_without_auth_token (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-required-tool_with_auth_token (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-required-tool_with_invalid_auth_token (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-required-tool_without_auth_token (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/MCP_Invoke_my-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/MCP_Invoke_invalid_tool (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/MCP_Invoke_my-tool_without_parameters (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/MCP_Invoke_my-tool_with_insufficient_parameters (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/MCP_Invoke_my-auth-required-tool (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/MCP_Invoke_my-fail-tool (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_list-tables-read-only (0.05s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_list-tables (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool-read-only (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool-read-only_with_data_present_in_table (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool-read-only_create_table (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool-read-only_drop_table (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool-read-only_insert_entry (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool_without_body (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool_create_table (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool_drop_table (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool_insert_entry (0.05s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_my-exec-sql-tool_without_body#01 (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-exec-sql-tool_with_auth_token (0.01s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-exec-sql-tool_with_invalid_auth_token (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/Invoke_my-auth-exec-sql-tool_without_auth_token (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_create-table-templateParams-tool (0.00s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_insert-table-templateParams-tool (0.03s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_insert-table-templateParams-tool#01 (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_select-templateParams-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_select-templateParams-combined-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_select-fields-templateParams-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_select-filter-templateParams-combined-tool (0.02s)
Step #9 - "spanner": --- PASS: TestSpannerToolEndpoints/invoke_drop-table-templateParams-tool (0.00s)
Step #9 - "spanner": PASS
Step #9 - "spanner": coverage: 9.3% of statements in ./internal/sources/..., ./internal/tools/...
Step #9 - "spanner": Calculating coverage for Spanner...
Step #9 - "spanner": Spanner total coverage: 86.2%
Step #9 - "spanner": Coverage for Spanner is sufficient.
Finished Step #9 - "spanner"
Step #7 - "dataplex": 2025-07-29T21:14:18.965495465Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-search-entries-tool/" method: "GET" path: "/api/tool/my-search-entries-tool/" remoteIP: "127.0.0.1:36750" proto: "HTTP/1.1" requestID: "4b0981fd97fa/S4eJFgUHzx-000001"} httpResponse: {status: 200 bytes: 1254 elapsed: 0.583980}
Step #7 - "dataplex": === RUN TestDataplexToolEndpoints/Success_-_Entry_Found
Step #7 - "dataplex": 2025-07-29T21:14:20.634639155Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-search-entries-tool/invoke" method: "POST" path: "/api/tool/my-search-entries-tool/invoke" remoteIP: "127.0.0.1:36750" proto: "HTTP/1.1" requestID: "4b0981fd97fa/S4eJFgUHzx-000002"} httpResponse: {status: 200 bytes: 1620 elapsed: 1667.893922}
Step #7 - "dataplex": === RUN TestDataplexToolEndpoints/Failure_-_Entry_Not_Found
Step #7 - "dataplex": 2025-07-29T21:14:22.643865098Z INFO Response: 200 OK service: "httplog" httpRequest: {url: "http://127.0.0.1:5000/api/tool/my-search-entries-tool/invoke" method: "POST" path: "/api/tool/my-search-entries-tool/invoke" remoteIP: "127.0.0.1:36750" proto: "HTTP/1.1" requestID: "4b0981fd97fa/S4eJFgUHzx-000003"} httpResponse: {status: 200 bytes: 18 elapsed: 2007.623723}
Step #7 - "dataplex": --- PASS: TestDataplexToolEndpoints (125.90s)
Step #7 - "dataplex": --- PASS: TestDataplexToolEndpoints/Success_-_Entry_Found (1.67s)
Step #7 - "dataplex": --- PASS: TestDataplexToolEndpoints/Failure_-_Entry_Not_Found (2.01s)
Step #7 - "dataplex": PASS
Step #7 - "dataplex": coverage: 4.9% of statements in ./internal/sources/..., ./internal/tools/...
Step #7 - "dataplex": Calculating coverage for Dataplex...
Step #7 - "dataplex": Dataplex total coverage: 83.3%
Step #7 - "dataplex": Coverage for Dataplex is sufficient.
Finished Step #7 - "dataplex"
PUSH
DONE
Loading