mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2024-11-10 08:57:25 +01:00
Port api test. Fix Bugs
This commit is contained in:
parent
e39bf6da78
commit
cb70711c15
@ -206,6 +206,7 @@ func (api *RestApi) startJob(rw http.ResponseWriter, r *http.Request) {
|
|||||||
// Check if combination of (job_id, cluster_id, start_time) already exists:
|
// Check if combination of (job_id, cluster_id, start_time) already exists:
|
||||||
job, err := api.JobRepository.Find(req.JobID, req.Cluster, req.StartTime)
|
job, err := api.JobRepository.Find(req.JobID, req.Cluster, req.StartTime)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
print("ERROR in Find\n")
|
||||||
http.Error(rw, err.Error(), http.StatusInternalServerError)
|
http.Error(rw, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -305,7 +306,7 @@ func (api *RestApi) stopJob(rw http.ResponseWriter, r *http.Request) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
api.JobRepository.Stop(job.JobID, job.Duration, req.State, jobMeta.Statistics)
|
api.JobRepository.Stop(job.ID, job.Duration, req.State, jobMeta.Statistics)
|
||||||
log.Printf("job stopped and archived (dbid: %d)", job.ID)
|
log.Printf("job stopped and archived (dbid: %d)", job.ID)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@ import (
|
|||||||
"github.com/ClusterCockpit/cc-backend/config"
|
"github.com/ClusterCockpit/cc-backend/config"
|
||||||
"github.com/ClusterCockpit/cc-backend/graph"
|
"github.com/ClusterCockpit/cc-backend/graph"
|
||||||
"github.com/ClusterCockpit/cc-backend/metricdata"
|
"github.com/ClusterCockpit/cc-backend/metricdata"
|
||||||
|
"github.com/ClusterCockpit/cc-backend/repository"
|
||||||
"github.com/ClusterCockpit/cc-backend/schema"
|
"github.com/ClusterCockpit/cc-backend/schema"
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
"github.com/jmoiron/sqlx"
|
"github.com/jmoiron/sqlx"
|
||||||
@ -122,8 +123,8 @@ func setup(t *testing.T) *api.RestApi {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
return &api.RestApi{
|
return &api.RestApi{
|
||||||
DB: db,
|
JobRepository: &repository.JobRepository{db},
|
||||||
Resolver: resolver,
|
Resolver: resolver,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -200,7 +201,7 @@ func TestRestApi(t *testing.T) {
|
|||||||
t.Fatal(response.Status, recorder.Body.String())
|
t.Fatal(response.Status, recorder.Body.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
var res api.StartJobApiRespone
|
var res api.StartJobApiResponse
|
||||||
if err := json.Unmarshal(recorder.Body.Bytes(), &res); err != nil {
|
if err := json.Unmarshal(recorder.Body.Bytes(), &res); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
@ -260,6 +261,7 @@ func TestRestApi(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if job.State != schema.JobStateCompleted {
|
if job.State != schema.JobStateCompleted {
|
||||||
|
print("STATE:" + job.State)
|
||||||
t.Fatal("expected job to be completed")
|
t.Fatal("expected job to be completed")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,12 +27,17 @@ func (r *JobRepository) Find(
|
|||||||
Where("job.cluster = ?", cluster).
|
Where("job.cluster = ?", cluster).
|
||||||
Where("job.start_time = ?", startTime)
|
Where("job.start_time = ?", startTime)
|
||||||
|
|
||||||
sql, args, err := qb.ToSql()
|
sqlQuery, args, err := qb.ToSql()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
job, err := schema.ScanJob(r.DB.QueryRowx(sql, args...))
|
job, err := schema.ScanJob(r.DB.QueryRowx(sqlQuery, args...))
|
||||||
|
|
||||||
|
// Reset error if no job is found as this is indicated by nil job ptr
|
||||||
|
if err == sql.ErrNoRows {
|
||||||
|
err = nil
|
||||||
|
}
|
||||||
return job, err
|
return job, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,13 +47,18 @@ func (r *JobRepository) Find(
|
|||||||
// If the job was not found nil is returned for the job pointer.
|
// If the job was not found nil is returned for the job pointer.
|
||||||
func (r *JobRepository) FindById(
|
func (r *JobRepository) FindById(
|
||||||
jobId int64) (*schema.Job, error) {
|
jobId int64) (*schema.Job, error) {
|
||||||
sql, args, err := sq.Select(schema.JobColumns...).
|
sqlQuery, args, err := sq.Select(schema.JobColumns...).
|
||||||
From("job").Where("job.id = ?", jobId).ToSql()
|
From("job").Where("job.id = ?", jobId).ToSql()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
job, err := schema.ScanJob(r.DB.QueryRowx(sql, args...))
|
job, err := schema.ScanJob(r.DB.QueryRowx(sqlQuery, args...))
|
||||||
|
|
||||||
|
// Reset error if no job is found as this is indicated by nil job ptr
|
||||||
|
if err == sql.ErrNoRows {
|
||||||
|
err = nil
|
||||||
|
}
|
||||||
return job, err
|
return job, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -92,6 +102,7 @@ func (r *JobRepository) Stop(
|
|||||||
}
|
}
|
||||||
|
|
||||||
sql, args, err := stmt.ToSql()
|
sql, args, err := stmt.ToSql()
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Errorf("archiving job (dbid: %d) failed: %s", jobId, err.Error())
|
log.Errorf("archiving job (dbid: %d) failed: %s", jobId, err.Error())
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user