Move most of the stuff that was acting on backup bases to be functions that are defined for backup bases. Other code can be removed at a later point New functions aren't called yet in other code --- #### Does this PR need a docs update or release note? - [ ] ✅ Yes, it's included - [ ] 🕐 Yes, but in a later PR - [x] ⛔ No #### Type of change - [ ] 🌻 Feature - [ ] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Supportability/Tests - [ ] 💻 CI/Deployment - [x] 🧹 Tech Debt/Cleanup #### Issue(s) * #3525 #### Test Plan - [ ] 💪 Manual - [x] ⚡ Unit test - [ ] 💚 E2E
64 lines
1.6 KiB
Go
64 lines
1.6 KiB
Go
package kopia
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func AssertBackupBasesEqual(t *testing.T, expect, got BackupBases) {
|
|
if expect == nil && got == nil {
|
|
return
|
|
}
|
|
|
|
if expect == nil {
|
|
assert.Empty(t, got.Backups(), "backups")
|
|
assert.Empty(t, got.MergeBases(), "merge bases")
|
|
assert.Empty(t, got.AssistBases(), "assist bases")
|
|
|
|
return
|
|
}
|
|
|
|
if got == nil {
|
|
if len(expect.Backups()) > 0 && len(expect.MergeBases()) > 0 && len(expect.AssistBases()) > 0 {
|
|
assert.Fail(t, "got was nil but expected non-nil result %v", expect)
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
assert.ElementsMatch(t, expect.Backups(), got.Backups(), "backups")
|
|
assert.ElementsMatch(t, expect.MergeBases(), got.MergeBases(), "merge bases")
|
|
assert.ElementsMatch(t, expect.AssistBases(), got.AssistBases(), "assist bases")
|
|
}
|
|
|
|
func NewMockBackupBases() *MockBackupBases {
|
|
return &MockBackupBases{backupBases: &backupBases{}}
|
|
}
|
|
|
|
type MockBackupBases struct {
|
|
*backupBases
|
|
}
|
|
|
|
func (bb *MockBackupBases) WithBackups(b ...BackupEntry) *MockBackupBases {
|
|
bb.backupBases.backups = append(bb.Backups(), b...)
|
|
return bb
|
|
}
|
|
|
|
func (bb *MockBackupBases) WithMergeBases(m ...ManifestEntry) *MockBackupBases {
|
|
bb.backupBases.mergeBases = append(bb.MergeBases(), m...)
|
|
bb.backupBases.assistBases = append(bb.AssistBases(), m...)
|
|
|
|
return bb
|
|
}
|
|
|
|
func (bb *MockBackupBases) WithAssistBases(m ...ManifestEntry) *MockBackupBases {
|
|
bb.backupBases.assistBases = append(bb.AssistBases(), m...)
|
|
return bb
|
|
}
|
|
|
|
func (bb *MockBackupBases) ClearMockAssistBases() *MockBackupBases {
|
|
bb.backupBases.ClearAssistBases()
|
|
return bb
|
|
}
|