fix: repo orchestrator tests

This commit is contained in:
Gareth George
2023-11-25 17:33:57 -08:00
parent 4cd84223cf
commit d077fc83c9
3 changed files with 23 additions and 19 deletions

View File

@@ -48,6 +48,11 @@ func (r *RepoOrchestrator) SnapshotsForPlan(ctx context.Context, plan *v1.Plan)
func (r *RepoOrchestrator) Backup(ctx context.Context, plan *v1.Plan, progressCallback func(event *restic.BackupProgressEntry)) (*restic.BackupProgressEntry, error) { func (r *RepoOrchestrator) Backup(ctx context.Context, plan *v1.Plan, progressCallback func(event *restic.BackupProgressEntry)) (*restic.BackupProgressEntry, error) {
zap.L().Debug("repo orchestrator starting backup", zap.String("repo", r.repoConfig.Id)) zap.L().Debug("repo orchestrator starting backup", zap.String("repo", r.repoConfig.Id))
if err := r.repo.Init(ctx); err != nil {
return nil, fmt.Errorf("failed to init repo: %w", err)
}
snapshots, err := r.SnapshotsForPlan(ctx, plan) snapshots, err := r.SnapshotsForPlan(ctx, plan)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to get snapshots for plan: %w", err) return nil, fmt.Errorf("failed to get snapshots for plan: %w", err)

View File

@@ -18,15 +18,15 @@ func TestBackup(t *testing.T) {
// create a new repo with cache disabled for testing // create a new repo with cache disabled for testing
r := &v1.Repo{ r := &v1.Repo{
Id: "test", Id: "test",
Uri: repo, Uri: repo,
Password: "test", Password: "test",
Flags: []string{"--no-cache"}, Flags: []string{"--no-cache"},
} }
plan := &v1.Plan{ plan := &v1.Plan{
Id: "test", Id: "test",
Repo: "test", Repo: "test",
Paths: []string{testData}, Paths: []string{testData},
} }
@@ -48,34 +48,34 @@ func TestBackup(t *testing.T) {
func TestSnapshotParenting(t *testing.T) { func TestSnapshotParenting(t *testing.T) {
t.Parallel() t.Parallel()
repo := t.TempDir() repo := t.TempDir()
testData := test.CreateTestData(t) testData := test.CreateTestData(t)
// create a new repo with cache disabled for testing // create a new repo with cache disabled for testing
r := &v1.Repo{ r := &v1.Repo{
Id: "test", Id: "test",
Uri: repo, Uri: repo,
Password: "test", Password: "test",
Flags: []string{"--no-cache"}, Flags: []string{"--no-cache"},
} }
plans := []*v1.Plan{ plans := []*v1.Plan{
{ {
Id: "test", Id: "test",
Repo: "test", Repo: "test",
Paths: []string{testData}, Paths: []string{testData},
}, },
{ {
Id: "test2", Id: "test2",
Repo: "test", Repo: "test",
Paths: []string{testData}, Paths: []string{testData},
}, },
} }
orchestrator := newRepoOrchestrator(r, restic.NewRepo(r, restic.WithFlags("--no-cache"))) orchestrator := newRepoOrchestrator(r, restic.NewRepo(r, restic.WithFlags("--no-cache")))
for i := 0; i < 4; i ++{ for i := 0; i < 4; i++ {
for _, plan := range plans { for _, plan := range plans {
summary, err := orchestrator.Backup(context.Background(), plan, nil) summary, err := orchestrator.Backup(context.Background(), plan, nil)
if err != nil { if err != nil {
@@ -92,7 +92,7 @@ func TestSnapshotParenting(t *testing.T) {
} }
} }
} }
for _, plan := range plans { for _, plan := range plans {
snapshots, err := orchestrator.SnapshotsForPlan(context.Background(), plan) snapshots, err := orchestrator.SnapshotsForPlan(context.Background(), plan)
if err != nil { if err != nil {
@@ -105,7 +105,7 @@ func TestSnapshotParenting(t *testing.T) {
} }
for i := 1; i < len(snapshots); i++ { for i := 1; i < len(snapshots); i++ {
prev := snapshots[i - 1] prev := snapshots[i-1]
curr := snapshots[i] curr := snapshots[i]
if prev.ToProto().UnixTimeMs >= curr.ToProto().UnixTimeMs { if prev.ToProto().UnixTimeMs >= curr.ToProto().UnixTimeMs {
@@ -129,4 +129,4 @@ func TestSnapshotParenting(t *testing.T) {
if len(snapshots) != 8 { if len(snapshots) != 8 {
t.Errorf("expected 8 snapshots, got %d", len(snapshots)) t.Errorf("expected 8 snapshots, got %d", len(snapshots))
} }
} }

View File

@@ -77,7 +77,6 @@ func (r *Repo) init(ctx context.Context) error {
func (r *Repo) Init(ctx context.Context) error { func (r *Repo) Init(ctx context.Context) error {
r.mu.Lock() r.mu.Lock()
defer r.mu.Unlock() defer r.mu.Unlock()
r.initialized = false
return r.init(ctx) return r.init(ctx)
} }