feat: activity log producers
This commit is contained in:
1 parent
50b1649965
commit
e37a46a027
93 files changed
+3396
-440
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
"RenewCMS/internal/domain/audit"
|
||||
"RenewCMS/internal/domain/update"
|
||||
"RenewCMS/internal/infrastructure/persistence/database"
|
||||
"RenewCMS/internal/infrastructure/persistence/models"
|
||||
@@ -313,6 +314,7 @@ type downloadRig struct {
|
||||
staging *faultyStagingArea
|
||||
realBackup update.DatabaseBackup
|
||||
logger *fakeUpdateLogger
|
||||
recorder audit.Recorder
|
||||
start *useCases.StartUpdateDownloadUseCase
|
||||
status *useCases.GetUpdateStatusUseCase
|
||||
}
|
||||
@@ -385,10 +387,18 @@ func (r *downloadRig) rebuild() {
|
||||
Platform: r.platform,
|
||||
FeedURL: downloadFeedURL,
|
||||
Now: func() time.Time { return updateTestCheckedAt },
|
||||
Recorder: r.auditRecorder(),
|
||||
})
|
||||
r.status = useCases.NewGetUpdateStatusUseCase(r.store, r.jobs, r.helper, r.results, r.requests, updateRunning, false, time.Now)
|
||||
}
|
||||
|
||||
func (r *downloadRig) auditRecorder() audit.Recorder {
|
||||
if r.recorder == nil {
|
||||
return discardRecorder
|
||||
}
|
||||
return r.recorder
|
||||
}
|
||||
|
||||
func (r *downloadRig) checksumsFor(name string, content []byte) string {
|
||||
sum := sha256.Sum256(content)
|
||||
return hex.EncodeToString(sum[:]) + " " + name + "\n"
|
||||
@@ -484,7 +494,7 @@ func TestAssetNameFollowsThePlatform(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := rig.start.Start(); err != nil {
|
||||
if _, err := rig.start.Start(testCtx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
rig.waitForJob(update.StateReady, update.StateFailed)
|
||||
@@ -543,7 +553,7 @@ func TestStartUpdateDownloadUseCaseHappyPath(t *testing.T) {
|
||||
rig.backup.gate = gate
|
||||
rig.backup.entered = entered
|
||||
|
||||
status, err := rig.start.Start()
|
||||
status, err := rig.start.Start(testCtx)
|
||||
|
||||
if err != nil || status.State != update.StateDownloading || status.StartedAt == nil {
|
||||
t.Fatalf("status = %+v, err = %v", status, err)
|
||||
@@ -582,7 +592,7 @@ func TestStartUpdateDownloadUseCaseGuards(t *testing.T) {
|
||||
t.Run("without the helper nothing starts", func(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.helper.installed = false
|
||||
if _, err := rig.start.Start(); !errors.Is(err, update.ErrNotPrepared) {
|
||||
if _, err := rig.start.Start(testCtx); !errors.Is(err, update.ErrNotPrepared) {
|
||||
t.Errorf("err = %v", err)
|
||||
}
|
||||
if rig.fetcher.totalCalls() != 0 {
|
||||
@@ -594,7 +604,7 @@ func TestStartUpdateDownloadUseCaseGuards(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.helper.installed = false
|
||||
rig.store.found = false
|
||||
if _, err := rig.start.Start(); !errors.Is(err, update.ErrNotPrepared) {
|
||||
if _, err := rig.start.Start(testCtx); !errors.Is(err, update.ErrNotPrepared) {
|
||||
t.Errorf("err = %v", err)
|
||||
}
|
||||
})
|
||||
@@ -603,7 +613,7 @@ func TestStartUpdateDownloadUseCaseGuards(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.jobs.put(update.Job{State: update.StateReady})
|
||||
rig.store.found = false
|
||||
if _, err := rig.start.Start(); !errors.Is(err, update.ErrJobInProgress) {
|
||||
if _, err := rig.start.Start(testCtx); !errors.Is(err, update.ErrJobInProgress) {
|
||||
t.Errorf("err = %v", err)
|
||||
}
|
||||
})
|
||||
@@ -611,7 +621,7 @@ func TestStartUpdateDownloadUseCaseGuards(t *testing.T) {
|
||||
t.Run("nothing stored", func(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.store.found = false
|
||||
if _, err := rig.start.Start(); !errors.Is(err, update.ErrNothingToUpdate) {
|
||||
if _, err := rig.start.Start(testCtx); !errors.Is(err, update.ErrNothingToUpdate) {
|
||||
t.Errorf("err = %v", err)
|
||||
}
|
||||
})
|
||||
@@ -619,7 +629,7 @@ func TestStartUpdateDownloadUseCaseGuards(t *testing.T) {
|
||||
t.Run("a job record that cannot be saved is an error", func(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.jobs.saveErr = errRepositoryFailure
|
||||
if _, err := rig.start.Start(); !errors.Is(err, errRepositoryFailure) {
|
||||
if _, err := rig.start.Start(testCtx); !errors.Is(err, errRepositoryFailure) {
|
||||
t.Errorf("err = %v", err)
|
||||
}
|
||||
if rig.fetcher.totalCalls() != 0 {
|
||||
@@ -643,7 +653,7 @@ func TestTwoStartsAtOnceRunOneJob(t *testing.T) {
|
||||
go func() {
|
||||
ready.Done()
|
||||
ready.Wait()
|
||||
_, err := rig.start.Start()
|
||||
_, err := rig.start.Start(testCtx)
|
||||
results <- err
|
||||
}()
|
||||
}
|
||||
@@ -922,7 +932,7 @@ func TestStartUpdateDownloadUseCaseProgressCadence(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := rig.start.Start(); err != nil {
|
||||
if _, err := rig.start.Start(testCtx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
rig.waitForJob(update.StateReady, update.StateFailed)
|
||||
@@ -938,7 +948,7 @@ func TestStartUpdateDownloadUseCaseAcceptsAnUndeclaredSize(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.setAsset(rig.assetName, func(asset *update.Asset) { asset.Size = 0 })
|
||||
|
||||
if _, err := rig.start.Start(); err != nil {
|
||||
if _, err := rig.start.Start(testCtx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -961,7 +971,7 @@ func TestStartUpdateDownloadUseCaseReportsAFailedRecordSave(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
if _, err := rig.start.Start(); err != nil {
|
||||
if _, err := rig.start.Start(testCtx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
@@ -978,7 +988,7 @@ func TestStartUpdateDownloadUseCaseReportsAFailedRecordSave(t *testing.T) {
|
||||
rig := newDownloadRig(t)
|
||||
rig.fetcher.errors[rig.assetName] = errDownloadNetwork
|
||||
|
||||
if _, err := rig.start.Start(); err != nil {
|
||||
if _, err := rig.start.Start(testCtx); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
rig.waitForJob(update.StateFailed)
|
||||
|
||||
Reference in new issue
Block a user