// Copyright (C) 2023 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. package archive_test import ( "encoding/json" "fmt" "path/filepath" "testing" "time" "github.com/ClusterCockpit/cc-backend/internal/util" "github.com/ClusterCockpit/cc-backend/pkg/archive" "github.com/ClusterCockpit/cc-backend/pkg/schema" ) var jobs []*schema.Job func setup(t *testing.T) archive.ArchiveBackend { tmpdir := t.TempDir() jobarchive := filepath.Join(tmpdir, "job-archive") util.CopyDir("./testdata/archive/", jobarchive) archiveCfg := fmt.Sprintf("{\"kind\": \"file\",\"path\": \"%s\"}", jobarchive) if err := archive.Init(json.RawMessage(archiveCfg), false); err != nil { t.Fatal(err) } jobs = make([]*schema.Job, 2) jobs[0] = &schema.Job{} jobs[0].JobID = 1403244 jobs[0].Cluster = "emmy" jobs[0].StartTime = time.Unix(1608923076, 0) jobs[1] = &schema.Job{} jobs[0].JobID = 1404397 jobs[0].Cluster = "emmy" jobs[0].StartTime = time.Unix(1609300556, 0) return archive.GetHandle() } func TestCleanUp(t *testing.T) { a := setup(t) if !a.Exists(jobs[0]) { t.Error("Job does not exist") } a.CleanUp(jobs) if a.Exists(jobs[0]) || a.Exists(jobs[1]) { t.Error("Jobs still exist") } } // func TestCompress(t *testing.T) { // a := setup(t) // if !a.Exists(jobs[0]) { // t.Error("Job does not exist") // } // // a.Compress(jobs) // // if a.Exists(jobs[0]) || a.Exists(jobs[1]) { // t.Error("Jobs still exist") // } // }