mirror of
https://github.com/garethgeorge/backrest.git
synced 2025-12-16 10:35:32 +00:00
fix: repo orchestrator tests
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user