mirror of https://github.com/databricks/cli.git
Merge 48f3bfb008
into e81ec4ee23
This commit is contained in:
commit
b8af03523b
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"Authorization": [
|
||||||
|
"Basic dXNlcm5hbWU6cGFzc3dvcmQ="
|
||||||
|
],
|
||||||
|
"User-Agent": [
|
||||||
|
"cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/current-user_me cmd-exec-id/[UUID] auth/basic"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"method": "GET",
|
||||||
|
"path": "/api/2.0/preview/scim/v2/Me",
|
||||||
|
"body": ""
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"id":"[USERID]",
|
||||||
|
"userName":"[USERNAME]"
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Unset the token which is configured by default
|
||||||
|
# in acceptance tests
|
||||||
|
export DATABRICKS_TOKEN=""
|
||||||
|
|
||||||
|
# "username:password" in base64 is dXNlcm5hbWU6cGFzc3dvcmQ=, expect to see this in Authorization header
|
||||||
|
export DATABRICKS_USERNAME=username
|
||||||
|
export DATABRICKS_PASSWORD=password
|
||||||
|
|
||||||
|
$CLI current-user me
|
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"User-Agent": [
|
||||||
|
"cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"method": "GET",
|
||||||
|
"path": "/oidc/.well-known/oauth-authorization-server",
|
||||||
|
"body": ""
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"Authorization": [
|
||||||
|
"Basic Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ="
|
||||||
|
],
|
||||||
|
"User-Agent": [
|
||||||
|
"cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS]"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"method": "POST",
|
||||||
|
"path": "/oidc/v1/token",
|
||||||
|
"body": "grant_type=client_credentials\u0026scope=all-apis"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"Authorization": [
|
||||||
|
"Bearer oauth-token"
|
||||||
|
],
|
||||||
|
"User-Agent": [
|
||||||
|
"cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/current-user_me cmd-exec-id/[UUID] auth/oauth-m2m"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"method": "GET",
|
||||||
|
"path": "/api/2.0/preview/scim/v2/Me",
|
||||||
|
"body": ""
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"id":"[USERID]",
|
||||||
|
"userName":"[USERNAME]"
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Unset the token which is configured by default
|
||||||
|
# in acceptance tests
|
||||||
|
export DATABRICKS_TOKEN=""
|
||||||
|
|
||||||
|
# "client_id:client_secret" in base64 is Y2xpZW50X2lkOmNsaWVudF9zZWNyZXQ=, expect to
|
||||||
|
# see this in Authorization header
|
||||||
|
export DATABRICKS_CLIENT_ID=client_id
|
||||||
|
export DATABRICKS_CLIENT_SECRET=client_secret
|
||||||
|
|
||||||
|
$CLI current-user me
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
"headers": {
|
||||||
|
"Authorization": [
|
||||||
|
"Bearer dapi1234"
|
||||||
|
],
|
||||||
|
"User-Agent": [
|
||||||
|
"cli/[DEV_VERSION] databricks-sdk-go/[SDK_VERSION] go/[GO_VERSION] os/[OS] cmd/current-user_me cmd-exec-id/[UUID] auth/pat"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"method": "GET",
|
||||||
|
"path": "/api/2.0/preview/scim/v2/Me",
|
||||||
|
"body": ""
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"id":"[USERID]",
|
||||||
|
"userName":"[USERNAME]"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
export DATABRICKS_TOKEN=dapi1234
|
||||||
|
|
||||||
|
$CLI current-user me
|
|
@ -0,0 +1,20 @@
|
||||||
|
LocalOnly = true
|
||||||
|
|
||||||
|
RecordRequests = true
|
||||||
|
IncludeRequestHeaders = ["Authorization", "User-Agent"]
|
||||||
|
|
||||||
|
[[Repls]]
|
||||||
|
Old = '(linux|darwin|windows)'
|
||||||
|
New = '[OS]'
|
||||||
|
|
||||||
|
[[Repls]]
|
||||||
|
Old = " upstream/[A-Za-z0-9.-]+"
|
||||||
|
New = ""
|
||||||
|
|
||||||
|
[[Repls]]
|
||||||
|
Old = " upstream-version/[A-Za-z0-9.-]+"
|
||||||
|
New = ""
|
||||||
|
|
||||||
|
[[Repls]]
|
||||||
|
Old = " cicd/[A-Za-z0-9.-]+"
|
||||||
|
New = ""
|
|
@ -161,6 +161,22 @@ func AddHandlers(server *testserver.Server) {
|
||||||
server.Handle("GET /api/2.1/jobs/list", func(fakeWorkspace *testserver.FakeWorkspace, r *http.Request) (any, int) {
|
server.Handle("GET /api/2.1/jobs/list", func(fakeWorkspace *testserver.FakeWorkspace, r *http.Request) (any, int) {
|
||||||
return fakeWorkspace.JobsList()
|
return fakeWorkspace.JobsList()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
server.Handle("GET /oidc/.well-known/oauth-authorization-server", func(fakeWorkspace *testserver.FakeWorkspace, r *http.Request) (any, int) {
|
||||||
|
return map[string]string{
|
||||||
|
"authorization_endpoint": server.URL + "oidc/v1/authorize",
|
||||||
|
"token_endpoint": server.URL + "/oidc/v1/token",
|
||||||
|
}, http.StatusOK
|
||||||
|
})
|
||||||
|
|
||||||
|
server.Handle("POST /oidc/v1/token", func(fakeWorkspace *testserver.FakeWorkspace, r *http.Request) (any, int) {
|
||||||
|
return map[string]string{
|
||||||
|
"access_token": "oauth-token",
|
||||||
|
"expires_in": "3600",
|
||||||
|
"scope": "all-apis",
|
||||||
|
"token_type": "Bearer",
|
||||||
|
}, http.StatusOK
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func internalError(err error) (any, int) {
|
func internalError(err error) (any, int) {
|
||||||
|
|
|
@ -119,11 +119,23 @@ func (s *Server) Handle(pattern string, handler HandlerFunc) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var reqBody any
|
||||||
|
if json.Valid(body) {
|
||||||
|
// If the request body is a valid JSON, typecast it to json.RawMessage.
|
||||||
|
// This way json.Marshal will ignore the body and serialize it
|
||||||
|
// as is, which is what we want because the body is already a JSON.
|
||||||
|
reqBody = json.RawMessage(body)
|
||||||
|
} else {
|
||||||
|
// JSON marshal encodes []byte to base64. Typecase it to string
|
||||||
|
// to avoid this.
|
||||||
|
reqBody = string(body)
|
||||||
|
}
|
||||||
|
|
||||||
s.Requests = append(s.Requests, Request{
|
s.Requests = append(s.Requests, Request{
|
||||||
Headers: headers,
|
Headers: headers,
|
||||||
Method: r.Method,
|
Method: r.Method,
|
||||||
Path: r.URL.Path,
|
Path: r.URL.Path,
|
||||||
Body: json.RawMessage(body),
|
Body: reqBody,
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue