Skip to content

Commit 843d675

Browse files
gopalldbclaude
andauthored
Fix 8 MetadataIntegrationTests failing in Thrift replay mode (#1234)
## Summary - Re-recorded WireMock stubs for 7 metadata tests that had invalid 403 "RBAC: access denied" recordings (GetTypeInfo, GetProcedures, GetProcedureColumns, GetFunctions, GetExportedKeys, GetVersionColumns, GetAttributes) - Added new Thrift recordings for GetIndexInfo test - These tests were failing in CI (THRIFT_SERVER + REPLAY mode) because the stubs returned 403 on OpenSession, causing `setUp()` to silently set `connection=null`, which then NPE'd in each test ## Root Cause The original Thrift recordings were captured with an expired/unauthorized token, resulting in 403 responses being recorded as WireMock stubs. When replayed in CI, the 403 caused `getValidJDBCConnection()` to throw, and the `setUp()` method's catch block silently swallowed the error. ## Test plan - [x] All 7 re-recorded tests verified to pass in THRIFT_SERVER + REPLAY mode - [x] Full MetadataIntegrationTests suite (46 tests) passes in THRIFT_SERVER + REPLAY mode with 0 failures - [x] All new recordings return 200 status (previously 403) 🤖 Generated with [Claude Code](https://claude.com/claude-code) NO_CHANGELOG=true Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 8f56b67 commit 843d675

58 files changed

Lines changed: 1596 additions & 343 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/test/resources/thriftserverapi/metadataintegrationtests/testdatabasemetadata_getattributes/mappings/oidc_.well-known_oauth-authorization-server-d1763f1d-d51b-4cea-bca1-aaf1b9b6b940.json

Lines changed: 0 additions & 23 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"id" : "f244a5a1-d3e9-4cbb-8c2e-3357e15d0175",
3+
"name" : "oidc_.well-known_oauth-authorization-server",
4+
"request" : {
5+
"url" : "/oidc/.well-known/oauth-authorization-server",
6+
"method" : "GET"
7+
},
8+
"response" : {
9+
"status" : 200,
10+
"body" : "{\"authorization_endpoint\":\"https:\\/\\/e2-dogfood.staging.cloud.databricks.com\\/oidc\\/v1\\/authorize\",\"token_endpoint\":\"https:\\/\\/e2-dogfood.staging.cloud.databricks.com\\/oidc\\/v1\\/token\",\"issuer\":\"https:\\/\\/e2-dogfood.staging.cloud.databricks.com\\/oidc\",\"jwks_uri\":\"https:\\/\\/oregon.staging.cloud.databricks.com\\/oidc\\/jwks.json\",\"scopes_supported\":[\"access-management\",\"alerts\",\"all-apis\",\"apps\",\"authentication\",\"billing\",\"cleanrooms\",\"clusters\",\"command-execution\",\"custom-llms\",\"dashboards\",\"dataclassification\",\"dataquality\",\"email\",\"environments\",\"files\",\"forecasting\",\"genie\",\"global-init-scripts\",\"identity\",\"instance-pools\",\"instance-profiles\",\"jobs\",\"libraries\",\"marketplace\",\"mlflow\",\"model-serving\",\"networking\",\"notifications\",\"offline_access\",\"openid\",\"pipelines\",\"postgres\",\"profile\",\"provisioning\",\"qualitymonitor\",\"query-history\",\"scim\",\"secrets\",\"settings\",\"sharing\",\"sql\",\"tags\",\"unity-catalog\",\"vector-search\",\"workspace\"],\"response_types_supported\":[\"code\",\"id_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"client_credentials\",\"authorization_code\",\"refresh_token\"],\"code_challenge_methods_supported\":[\"S256\"],\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"none\"],\"subject_types_supported\":[\"public\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"claims_supported\":[\"iss\",\"sub\",\"aud\",\"iat\",\"exp\",\"jti\",\"name\",\"family_name\",\"given_name\",\"preferred_username\"],\"request_uri_parameter_supported\":false}",
11+
"headers" : {
12+
"x-request-id" : "d124fb10-4a75-4064-aa95-b366dcb4a36a",
13+
"date" : "Thu, 26 Feb 2026 07:32:20 GMT",
14+
"server" : "databricks",
15+
"x-databricks-popp-response-code-details" : "via_upstream",
16+
"x-databricks-shard-debug" : "oregon-staging",
17+
"vary" : "Accept-Encoding",
18+
"x-databricks-popp-fast-path-routing-reason" : "not_eligible",
19+
"x-databricks-popp-shadow-routing-reason" : "spog-domain-checker-false",
20+
"x-databricks-upstream-cluster" : "oregon-staging-h2",
21+
"x-databricks-org-id" : "6051921418418893",
22+
"strict-transport-security" : "max-age=31536000; includeSubDomains; preload",
23+
"x-content-type-options" : "nosniff",
24+
"x-databricks-popp-routing-reason" : "deployment-name",
25+
"content-type" : "application/json; charset=UTF-8",
26+
"server-timing" : "request_id;dur=0;desc=\"d124fb10-4a75-4064-aa95-b366dcb4a36a\", client_protocol;dur=0;desc=\"HTTP/1.1\"",
27+
"alt-svc" : "h3=\":5443\"; ma=86400, h3-29=\":5443\"; ma=86400",
28+
"x-databricks-apiproxy-response-code-details" : "via_upstream"
29+
}
30+
},
31+
"uuid" : "f244a5a1-d3e9-4cbb-8c2e-3357e15d0175",
32+
"insertionIndex" : 11
33+
}

src/test/resources/thriftserverapi/metadataintegrationtests/testdatabasemetadata_getattributes/mappings/sql_protocolv1_o_6051921418418893_0819-204509-hill72-15d4bdd2-c3b1-453c-940c-a8b9c8acae92.json

Lines changed: 0 additions & 26 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"id" : "3a14e9f0-1c26-4232-9543-5b70b56450db",
3+
"name" : "sql_protocolv1_o_6051921418418893_0819-204509-hill72",
4+
"request" : {
5+
"url" : "/sql/protocolv1/o/6051921418418893/0819-204509-hill72",
6+
"method" : "POST",
7+
"bodyPatterns" : [ {
8+
"binaryEqualTo" : "gAEAAQAAAAxDbG9zZVNlc3Npb24AAAACDAABDAABDAABCwABAAAAEFCMsq9A0EXWqaZXak3htnQLAAIAAAAQnjbYl7XdTEyhEtIQ1UvPrwAAAAA="
9+
} ]
10+
},
11+
"response" : {
12+
"status" : 200,
13+
"base64Body" : "gAEAAgAAAAxDbG9zZVNlc3Npb24AAAACDAAADAABCAABAAAAAAAAAA==",
14+
"headers" : {
15+
"x-request-id" : "2ea4b19b-9678-4aa8-b148-76c39f58bc26",
16+
"date" : "Thu, 26 Feb 2026 07:32:22 GMT",
17+
"server" : "databricks",
18+
"x-databricks-popp-response-code-details" : "via_upstream",
19+
"x-databricks-shard-debug" : "oregon-staging",
20+
"x-databricks-popp-fast-path-routing-reason" : "not_eligible",
21+
"x-frame-options" : "SAMEORIGIN",
22+
"x-databricks-popp-shadow-routing-reason" : "spog-domain-checker-false",
23+
"x-databricks-upstream-cluster" : "oregon-staging-h2",
24+
"x-databricks-org-id" : "6051921418418893",
25+
"strict-transport-security" : "max-age=31536000; includeSubDomains; preload",
26+
"x-content-type-options" : "nosniff",
27+
"x-xss-protection" : "1; mode=block",
28+
"x-databricks-popp-routing-reason" : "deployment-name",
29+
"content-type" : "application/x-thrift",
30+
"server-timing" : "request_id;dur=0;desc=\"2ea4b19b-9678-4aa8-b148-76c39f58bc26\", client_protocol;dur=0;desc=\"HTTP/1.1\"",
31+
"alt-svc" : "h3=\":5443\"; ma=86400, h3-29=\":5443\"; ma=86400",
32+
"x-databricks-apiproxy-response-code-details" : "via_upstream"
33+
}
34+
},
35+
"uuid" : "3a14e9f0-1c26-4232-9543-5b70b56450db",
36+
"insertionIndex" : 9
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"id" : "d88c56d4-5bb6-4eee-be94-f9926ee96586",
3+
"name" : "sql_protocolv1_o_6051921418418893_0819-204509-hill72",
4+
"request" : {
5+
"url" : "/sql/protocolv1/o/6051921418418893/0819-204509-hill72",
6+
"method" : "POST",
7+
"bodyPatterns" : [ {
8+
"binaryEqualTo" : "gAEAAQAAAAtPcGVuU2Vzc2lvbgAAAAEMAAEIAAH////5DQAECwsAAAAACgUCAAAAAAAApQkMBQQLAAEAAAAFU1BBUksLAAIAAAAHZGVmYXVsdAACBQUBAAA="
9+
} ]
10+
},
11+
"response" : {
12+
"status" : 200,
13+
"base64Body" : "gAEAAgAAAAtPcGVuU2Vzc2lvbgAAAAEMAAAMAAEIAAEAAAAAAAgAAgAApQkMAAMMAAELAAEAAAAQUIyyr0DQRdappldqTeG2dAsAAgAAABCeNtiXtd1MTKES0hDVS8+vBg0BAAAACA0BAAClCQANAAQLCwAAAAAMBQQLAAEAAAAFc3BhcmsLAAIAAAAHZGVmYXVsdAACBQUBAAA=",
14+
"headers" : {
15+
"x-request-id" : "8b910b8a-b2ee-4d85-9138-2a2155e33b7f",
16+
"date" : "Thu, 26 Feb 2026 07:32:21 GMT",
17+
"server" : "databricks",
18+
"x-databricks-popp-response-code-details" : "via_upstream",
19+
"x-databricks-shard-debug" : "oregon-staging",
20+
"x-databricks-popp-fast-path-routing-reason" : "not_eligible",
21+
"x-frame-options" : "SAMEORIGIN",
22+
"x-databricks-popp-shadow-routing-reason" : "spog-domain-checker-false",
23+
"x-databricks-upstream-cluster" : "oregon-staging-h2",
24+
"x-databricks-org-id" : "6051921418418893",
25+
"strict-transport-security" : "max-age=31536000; includeSubDomains; preload",
26+
"x-content-type-options" : "nosniff",
27+
"x-xss-protection" : "1; mode=block",
28+
"x-databricks-popp-routing-reason" : "deployment-name",
29+
"content-type" : "application/x-thrift",
30+
"server-timing" : "request_id;dur=0;desc=\"8b910b8a-b2ee-4d85-9138-2a2155e33b7f\", client_protocol;dur=0;desc=\"HTTP/1.1\"",
31+
"alt-svc" : "h3=\":5443\"; ma=86400, h3-29=\":5443\"; ma=86400",
32+
"x-databricks-apiproxy-response-code-details" : "via_upstream"
33+
}
34+
},
35+
"uuid" : "d88c56d4-5bb6-4eee-be94-f9926ee96586",
36+
"insertionIndex" : 10
37+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"id" : "3317b810-fda9-4680-b80f-dab525b247eb",
3+
"name" : "oidc_.well-known_oauth-authorization-server",
4+
"request" : {
5+
"url" : "/oidc/.well-known/oauth-authorization-server",
6+
"method" : "GET"
7+
},
8+
"response" : {
9+
"status" : 200,
10+
"body" : "{\"authorization_endpoint\":\"https:\\/\\/e2-dogfood.staging.cloud.databricks.com\\/oidc\\/v1\\/authorize\",\"token_endpoint\":\"https:\\/\\/e2-dogfood.staging.cloud.databricks.com\\/oidc\\/v1\\/token\",\"issuer\":\"https:\\/\\/e2-dogfood.staging.cloud.databricks.com\\/oidc\",\"jwks_uri\":\"https:\\/\\/oregon.staging.cloud.databricks.com\\/oidc\\/jwks.json\",\"scopes_supported\":[\"access-management\",\"alerts\",\"all-apis\",\"apps\",\"authentication\",\"billing\",\"cleanrooms\",\"clusters\",\"command-execution\",\"custom-llms\",\"dashboards\",\"dataclassification\",\"dataquality\",\"email\",\"environments\",\"files\",\"forecasting\",\"genie\",\"global-init-scripts\",\"identity\",\"instance-pools\",\"instance-profiles\",\"jobs\",\"libraries\",\"marketplace\",\"mlflow\",\"model-serving\",\"networking\",\"notifications\",\"offline_access\",\"openid\",\"pipelines\",\"postgres\",\"profile\",\"provisioning\",\"qualitymonitor\",\"query-history\",\"scim\",\"secrets\",\"settings\",\"sharing\",\"sql\",\"tags\",\"unity-catalog\",\"vector-search\",\"workspace\"],\"response_types_supported\":[\"code\",\"id_token\"],\"response_modes_supported\":[\"query\",\"fragment\",\"form_post\"],\"grant_types_supported\":[\"client_credentials\",\"authorization_code\",\"refresh_token\"],\"code_challenge_methods_supported\":[\"S256\"],\"token_endpoint_auth_methods_supported\":[\"client_secret_basic\",\"client_secret_post\",\"none\"],\"subject_types_supported\":[\"public\"],\"id_token_signing_alg_values_supported\":[\"RS256\"],\"claims_supported\":[\"iss\",\"sub\",\"aud\",\"iat\",\"exp\",\"jti\",\"name\",\"family_name\",\"given_name\",\"preferred_username\"],\"request_uri_parameter_supported\":false}",
11+
"headers" : {
12+
"x-request-id" : "390d984a-afa9-4173-b189-256550d07d5f",
13+
"date" : "Thu, 26 Feb 2026 07:32:41 GMT",
14+
"server" : "databricks",
15+
"x-databricks-popp-response-code-details" : "via_upstream",
16+
"x-databricks-shard-debug" : "oregon-staging",
17+
"vary" : "Accept-Encoding",
18+
"x-databricks-popp-fast-path-routing-reason" : "not_eligible",
19+
"x-databricks-popp-shadow-routing-reason" : "spog-domain-checker-false",
20+
"x-databricks-upstream-cluster" : "oregon-staging-h2",
21+
"x-databricks-org-id" : "6051921418418893",
22+
"strict-transport-security" : "max-age=31536000; includeSubDomains; preload",
23+
"x-content-type-options" : "nosniff",
24+
"x-databricks-popp-routing-reason" : "deployment-name",
25+
"content-type" : "application/json; charset=UTF-8",
26+
"server-timing" : "request_id;dur=0;desc=\"390d984a-afa9-4173-b189-256550d07d5f\", client_protocol;dur=0;desc=\"HTTP/1.1\"",
27+
"alt-svc" : "h3=\":5443\"; ma=86400, h3-29=\":5443\"; ma=86400",
28+
"x-databricks-apiproxy-response-code-details" : "via_upstream"
29+
}
30+
},
31+
"uuid" : "3317b810-fda9-4680-b80f-dab525b247eb",
32+
"insertionIndex" : 10
33+
}

src/test/resources/thriftserverapi/metadataintegrationtests/testdatabasemetadata_getexportedkeys/mappings/oidc_.well-known_oauth-authorization-server-907ca3e2-c2fc-43b3-b25e-251d6db688ae.json

Lines changed: 0 additions & 23 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{
2+
"id" : "1e26615f-d2db-4cb0-812f-21d74c7a669c",
3+
"name" : "sql_protocolv1_o_6051921418418893_0819-204509-hill72",
4+
"request" : {
5+
"url" : "/sql/protocolv1/o/6051921418418893/0819-204509-hill72",
6+
"method" : "POST",
7+
"bodyPatterns" : [ {
8+
"binaryEqualTo" : "gAEAAQAAABFHZXRDcm9zc1JlZmVyZW5jZQAAAAQMAAEMAAEMAAELAAEAAAAQLxaWB85yS4qeTE2a9KgthgsAAgAAABB6o9khCzZBhIrIY2yiCJgBAAALAAIAAAAEbWFpbgsAAwAAABBqZGJjX3Rlc3Rfc2NoZW1hCwAEAAAAGG1ldGFfZXhwb3J0ZWRfa2V5c190YWJsZQwFAQoAAQAAAAAAHoSACgACAAAAABghowAAAgUCAQAA"
9+
} ]
10+
},
11+
"response" : {
12+
"status" : 200,
13+
"base64Body" : "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",
14+
"headers" : {
15+
"x-request-id" : "c8c9a1f6-9c00-43e4-8d67-f92c0bc7d03c",
16+
"date" : "Thu, 26 Feb 2026 07:32:48 GMT",
17+
"server" : "databricks",
18+
"x-databricks-popp-response-code-details" : "via_upstream",
19+
"x-databricks-shard-debug" : "oregon-staging",
20+
"x-databricks-popp-fast-path-routing-reason" : "not_eligible",
21+
"x-frame-options" : "SAMEORIGIN",
22+
"x-databricks-popp-shadow-routing-reason" : "spog-domain-checker-false",
23+
"x-databricks-upstream-cluster" : "oregon-staging-h2",
24+
"x-databricks-org-id" : "6051921418418893",
25+
"strict-transport-security" : "max-age=31536000; includeSubDomains; preload",
26+
"x-content-type-options" : "nosniff",
27+
"x-xss-protection" : "1; mode=block",
28+
"x-databricks-popp-routing-reason" : "deployment-name",
29+
"content-type" : "application/x-thrift",
30+
"server-timing" : "request_id;dur=0;desc=\"c8c9a1f6-9c00-43e4-8d67-f92c0bc7d03c\", client_protocol;dur=0;desc=\"HTTP/1.1\"",
31+
"alt-svc" : "h3=\":5443\"; ma=86400, h3-29=\":5443\"; ma=86400",
32+
"x-databricks-apiproxy-response-code-details" : "via_upstream"
33+
}
34+
},
35+
"uuid" : "1e26615f-d2db-4cb0-812f-21d74c7a669c",
36+
"insertionIndex" : 6
37+
}

0 commit comments

Comments
 (0)