Common structs/mocks/consts for assist backups (#3985)
Pull into separate PR so we can start merging things separately. `BackupBases` sourced from branch `backup_bases_changes` `model.go` sourced from branch `partial_bup` mock backup bases sourced from branch `backup-details-merge` --- #### 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 - [x] 🌻 Feature - [ ] 🐛 Bugfix - [ ] 🗺️ Documentation - [ ] 🤖 Supportability/Tests - [ ] 💻 CI/Deployment - [ ] 🧹 Tech Debt/Cleanup #### Test Plan - [ ] 💪 Manual - [ ] ⚡ Unit test - [ ] 💚 E2E
This commit is contained in:
parent
8c343a1488
commit
4ebb2d3bfb
@ -16,6 +16,7 @@ import (
|
|||||||
type BackupBases interface {
|
type BackupBases interface {
|
||||||
RemoveMergeBaseByManifestID(manifestID manifest.ID)
|
RemoveMergeBaseByManifestID(manifestID manifest.ID)
|
||||||
Backups() []BackupEntry
|
Backups() []BackupEntry
|
||||||
|
AssistBackups() []BackupEntry
|
||||||
MinBackupVersion() int
|
MinBackupVersion() int
|
||||||
MergeBases() []ManifestEntry
|
MergeBases() []ManifestEntry
|
||||||
ClearMergeBases()
|
ClearMergeBases()
|
||||||
@ -31,9 +32,10 @@ type BackupBases interface {
|
|||||||
type backupBases struct {
|
type backupBases struct {
|
||||||
// backups and mergeBases should be modified together as they relate similar
|
// backups and mergeBases should be modified together as they relate similar
|
||||||
// data.
|
// data.
|
||||||
backups []BackupEntry
|
backups []BackupEntry
|
||||||
mergeBases []ManifestEntry
|
mergeBases []ManifestEntry
|
||||||
assistBases []ManifestEntry
|
assistBases []ManifestEntry
|
||||||
|
assistBackups []BackupEntry
|
||||||
}
|
}
|
||||||
|
|
||||||
func (bb *backupBases) RemoveMergeBaseByManifestID(manifestID manifest.ID) {
|
func (bb *backupBases) RemoveMergeBaseByManifestID(manifestID manifest.ID) {
|
||||||
@ -71,6 +73,10 @@ func (bb backupBases) Backups() []BackupEntry {
|
|||||||
return slices.Clone(bb.backups)
|
return slices.Clone(bb.backups)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bb backupBases) AssistBackups() []BackupEntry {
|
||||||
|
return slices.Clone(bb.assistBackups)
|
||||||
|
}
|
||||||
|
|
||||||
func (bb *backupBases) MinBackupVersion() int {
|
func (bb *backupBases) MinBackupVersion() int {
|
||||||
min := version.NoBackup
|
min := version.NoBackup
|
||||||
|
|
||||||
|
|||||||
@ -14,13 +14,17 @@ func AssertBackupBasesEqual(t *testing.T, expect, got BackupBases) {
|
|||||||
if expect == nil {
|
if expect == nil {
|
||||||
assert.Empty(t, got.Backups(), "backups")
|
assert.Empty(t, got.Backups(), "backups")
|
||||||
assert.Empty(t, got.MergeBases(), "merge bases")
|
assert.Empty(t, got.MergeBases(), "merge bases")
|
||||||
|
assert.Empty(t, got.AssistBackups(), "assist backups")
|
||||||
assert.Empty(t, got.AssistBases(), "assist bases")
|
assert.Empty(t, got.AssistBases(), "assist bases")
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if got == nil {
|
if got == nil {
|
||||||
if len(expect.Backups()) > 0 && len(expect.MergeBases()) > 0 && len(expect.AssistBases()) > 0 {
|
if len(expect.Backups()) > 0 &&
|
||||||
|
len(expect.MergeBases()) > 0 &&
|
||||||
|
len(expect.AssistBackups()) > 0 &&
|
||||||
|
len(expect.AssistBases()) > 0 {
|
||||||
assert.Fail(t, "got was nil but expected non-nil result %v", expect)
|
assert.Fail(t, "got was nil but expected non-nil result %v", expect)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -29,6 +33,7 @@ func AssertBackupBasesEqual(t *testing.T, expect, got BackupBases) {
|
|||||||
|
|
||||||
assert.ElementsMatch(t, expect.Backups(), got.Backups(), "backups")
|
assert.ElementsMatch(t, expect.Backups(), got.Backups(), "backups")
|
||||||
assert.ElementsMatch(t, expect.MergeBases(), got.MergeBases(), "merge bases")
|
assert.ElementsMatch(t, expect.MergeBases(), got.MergeBases(), "merge bases")
|
||||||
|
assert.ElementsMatch(t, expect.AssistBackups(), got.AssistBackups(), "assist backups")
|
||||||
assert.ElementsMatch(t, expect.AssistBases(), got.AssistBases(), "assist bases")
|
assert.ElementsMatch(t, expect.AssistBases(), got.AssistBases(), "assist bases")
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,6 +57,11 @@ func (bb *MockBackupBases) WithMergeBases(m ...ManifestEntry) *MockBackupBases {
|
|||||||
return bb
|
return bb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bb *MockBackupBases) WithAssistBackups(b ...BackupEntry) *MockBackupBases {
|
||||||
|
bb.backupBases.assistBackups = append(bb.AssistBackups(), b...)
|
||||||
|
return bb
|
||||||
|
}
|
||||||
|
|
||||||
func (bb *MockBackupBases) WithAssistBases(m ...ManifestEntry) *MockBackupBases {
|
func (bb *MockBackupBases) WithAssistBases(m ...ManifestEntry) *MockBackupBases {
|
||||||
bb.backupBases.assistBases = append(bb.AssistBases(), m...)
|
bb.backupBases.assistBases = append(bb.AssistBases(), m...)
|
||||||
return bb
|
return bb
|
||||||
|
|||||||
@ -32,7 +32,10 @@ const (
|
|||||||
|
|
||||||
// common tags for filtering
|
// common tags for filtering
|
||||||
const (
|
const (
|
||||||
ServiceTag = "service"
|
ServiceTag = "service"
|
||||||
|
BackupTypeTag = "backup-type"
|
||||||
|
AssistBackup = "assist-backup"
|
||||||
|
MergeBackup = "merge-backup"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Valid returns true if the ModelType value fits within the iota range.
|
// Valid returns true if the ModelType value fits within the iota range.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user