From a56e84dcc4e0d533a970bb9f3d995c5f1c23a59d Mon Sep 17 00:00:00 2001 From: Xinyun Zhou Date: Tue, 28 May 2019 14:23:24 +1000 Subject: [PATCH] updated jobs --- aws/jobs.go | 10 ++++++---- azure/jobs.go | 10 ++++++---- databricks.go | 8 ++++---- query.go | 3 +++ tests/integration/azure/jobs_test.go | 26 ++++++++++++++++++++++++++ 5 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 tests/integration/azure/jobs_test.go diff --git a/aws/jobs.go b/aws/jobs.go index eeb2afb..3cb2fcf 100644 --- a/aws/jobs.go +++ b/aws/jobs.go @@ -32,15 +32,17 @@ func (a JobsAPI) Create(jobSettings models.JobSettings) (models.Job, error) { // List lists all jobs func (a JobsAPI) List() ([]models.Job, error) { - var jobs []models.Job + var jobsList = struct { + Jobs []models.Job `json:"jobs,omitempty"` + }{} resp, err := a.Client.performQuery(http.MethodGet, "/jobs/list", nil, nil) if err != nil { - return jobs, err + return jobsList.Jobs, err } - err = json.Unmarshal(resp, &jobs) - return jobs, err + err = json.Unmarshal(resp, &jobsList) + return jobsList.Jobs, err } // Delete deletes a job by ID diff --git a/azure/jobs.go b/azure/jobs.go index 9ec246c..57fa6ea 100644 --- a/azure/jobs.go +++ b/azure/jobs.go @@ -32,15 +32,17 @@ func (a JobsAPI) Create(jobSettings models.JobSettings) (models.Job, error) { // List lists all jobs func (a JobsAPI) List() ([]models.Job, error) { - var jobs []models.Job + var jobsList = struct { + Jobs []models.Job `json:"jobs,omitempty"` + }{} resp, err := a.Client.performQuery(http.MethodGet, "/jobs/list", nil, nil) if err != nil { - return jobs, err + return jobsList.Jobs, err } - err = json.Unmarshal(resp, &jobs) - return jobs, err + err = json.Unmarshal(resp, &jobsList) + return jobsList.Jobs, err } // Delete deletes a job by ID diff --git a/databricks.go b/databricks.go index 0425d49..7e1fc6c 100644 --- a/databricks.go +++ b/databricks.go @@ -41,17 +41,17 @@ func (o *DBClientOption) getAuthHeader() map[string]string { encodedAuth := []byte(o.User + ":" + o.Password) userHeaderData := "Basic " + base64.StdEncoding.EncodeToString(encodedAuth) auth["Authorization"] = userHeaderData - auth["Content-Type"] = "text/json" + auth["Content-Type"] = "application/json" } else if o.Token != "" { auth["Authorization"] = "Bearer " + o.Token - auth["Content-Type"] = "text/json" + auth["Content-Type"] = "application/json" } return auth } func (o *DBClientOption) getUserAgentHeader() map[string]string { return map[string]string{ - "user-agent": fmt.Sprintf("databricks-sdk-golang-%s", SdkVersion), + "User-Agent": fmt.Sprintf("databricks-sdk-golang-%s", SdkVersion), } } @@ -79,4 +79,4 @@ func (o *DBClientOption) getRequestURI(path string) (string, error) { } requestURI := fmt.Sprintf("%s://%s/api/%s%s", parsedURI.Scheme, parsedURI.Host, APIVersion, path) return requestURI, nil -} \ No newline at end of file +} diff --git a/query.go b/query.go index 43dca49..20d3f05 100644 --- a/query.go +++ b/query.go @@ -47,6 +47,9 @@ func PerformQuery(option DBClientOption, method, path string, data interface{}, if err != nil { return nil, err } + for k, v := range requestHeaders { + request.Header.Set(k, v) + } resp, err := client.Do(request) if err != nil { diff --git a/tests/integration/azure/jobs_test.go b/tests/integration/azure/jobs_test.go new file mode 100644 index 0000000..1c98b39 --- /dev/null +++ b/tests/integration/azure/jobs_test.go @@ -0,0 +1,26 @@ +package integration + +import ( + "os" + "testing" + + databricks "github.com/xinsnake/databricks-sdk-golang" + dbAzure "github.com/xinsnake/databricks-sdk-golang/azure" +) + +func setup() dbAzure.DBClient { + var c dbAzure.DBClient + var o databricks.DBClientOption + o.Host = os.Getenv("DBSDK_HOST") + o.Token = os.Getenv("DBSDK_TOKEN") + return c.Init(o) +} + +func TestList(t *testing.T) { + c := setup() + jobs, err := c.Jobs().List() + if err != nil { + t.Errorf("%+v\n", err) + } + t.Logf("%+v\n", jobs) +}