2022-07-29 06:29:21 +02:00
|
|
|
// Copyright (C) 2022 NHR@FAU, University Erlangen-Nuremberg.
|
|
|
|
// All rights reserved.
|
|
|
|
// Use of this source code is governed by a MIT-style
|
|
|
|
// license that can be found in the LICENSE file.
|
2022-02-10 18:48:58 +01:00
|
|
|
package repository
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"testing"
|
|
|
|
|
2023-02-15 13:07:19 +01:00
|
|
|
"github.com/ClusterCockpit/cc-backend/pkg/log"
|
2022-03-15 08:29:29 +01:00
|
|
|
_ "github.com/mattn/go-sqlite3"
|
2022-02-10 18:48:58 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
func setup(t *testing.T) *JobRepository {
|
2023-04-21 12:59:27 +02:00
|
|
|
log.Init("info", true)
|
2023-05-05 06:02:17 +02:00
|
|
|
dbfilepath := "testdata/test.db"
|
2023-04-21 12:59:27 +02:00
|
|
|
err := MigrateDB("sqlite3", dbfilepath)
|
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
Connect("sqlite3", dbfilepath)
|
2022-09-05 17:46:38 +02:00
|
|
|
return GetJobRepository()
|
2022-02-10 18:48:58 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestFind(t *testing.T) {
|
|
|
|
r := setup(t)
|
|
|
|
|
2023-04-21 12:59:27 +02:00
|
|
|
jobId, cluster, startTime := int64(398998), "fritz", int64(1675957496)
|
2022-02-16 09:01:32 +01:00
|
|
|
job, err := r.Find(&jobId, &cluster, &startTime)
|
2022-02-10 18:48:58 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
// fmt.Printf("%+v", job)
|
|
|
|
|
2023-04-21 12:59:27 +02:00
|
|
|
if job.ID != 5 {
|
2022-02-11 11:04:26 +01:00
|
|
|
t.Errorf("wrong summary for diagnostic 3\ngot: %d \nwant: 1366", job.JobID)
|
2022-02-10 18:48:58 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestFindById(t *testing.T) {
|
|
|
|
r := setup(t)
|
|
|
|
|
2023-04-21 12:59:27 +02:00
|
|
|
job, err := r.FindById(5)
|
2022-02-10 18:48:58 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
// fmt.Printf("%+v", job)
|
|
|
|
|
2023-04-21 12:59:27 +02:00
|
|
|
if job.JobID != 398998 {
|
2022-02-11 11:04:26 +01:00
|
|
|
t.Errorf("wrong summary for diagnostic 3\ngot: %d \nwant: 1404396", job.JobID)
|
2022-02-10 18:48:58 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestGetTags(t *testing.T) {
|
|
|
|
r := setup(t)
|
|
|
|
|
2022-02-17 09:04:57 +01:00
|
|
|
tags, counts, err := r.CountTags(nil)
|
2022-02-10 18:48:58 +01:00
|
|
|
if err != nil {
|
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
fmt.Printf("TAGS %+v \n", tags)
|
|
|
|
// fmt.Printf("COUNTS %+v \n", counts)
|
|
|
|
|
2023-04-21 12:59:27 +02:00
|
|
|
if counts["bandwidth"] != 3 {
|
|
|
|
t.Errorf("wrong tag count \ngot: %d \nwant: 3", counts["bandwidth"])
|
2022-02-11 11:04:26 +01:00
|
|
|
}
|
2022-02-10 18:48:58 +01:00
|
|
|
}
|