Add test for status report

Signed-off-by: Jonas Franz <info@jonasfranz.software>
web-ui
Jonas Franz 6 years ago
parent e025560fd2
commit b6018bb42c
Signed by untrusted user: JonasFranzDEV
GPG Key ID: 506AEEBE80BEDECD
  1. 66
      migrations/job_test.go

@ -0,0 +1,66 @@
package migrations
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestJob_StatusReport(t *testing.T) {
jobWithStatus := func(status *MigratoryStatus) *Job {
return &Job{
migratories: map[string]*Migratory{
"test/test": {
Status: status,
},
},
Repositories: []string{
"test/test",
},
}
}
// Pending
pendingJob := &Job{
Repositories: []string{
"test/test",
},
}
report := pendingJob.StatusReport()
assert.Len(t, report.Pending, 1)
assert.Equal(t, report.Pending[0], "test/test")
assert.Len(t, report.Failed, 0)
assert.Len(t, report.Running, 0)
assert.Len(t, report.Finished, 0)
// Finished
report = jobWithStatus(&MigratoryStatus{
Stage: Finished,
}).StatusReport()
assert.Len(t, report.Pending, 0)
assert.Len(t, report.Failed, 0)
assert.Len(t, report.Running, 0)
assert.Len(t, report.Finished, 1)
assert.Equal(t, Finished, report.Finished["test/test"].Stage)
// Failed
report = jobWithStatus(&MigratoryStatus{
Stage: Failed,
FatalError: fmt.Errorf("test"),
}).StatusReport()
assert.Len(t, report.Failed, 1)
assert.Equal(t, "test", report.Failed["test/test"])
assert.Len(t, report.Pending, 0)
assert.Len(t, report.Running, 0)
assert.Len(t, report.Finished, 0)
// Running
report = jobWithStatus(&MigratoryStatus{
Stage: Migrating,
}).StatusReport()
assert.Len(t, report.Running, 1)
assert.Equal(t, Migrating, report.Running["test/test"].Stage)
assert.Len(t, report.Pending, 0)
assert.Len(t, report.Failed, 0)
assert.Len(t, report.Finished, 0)
}
Loading…
Cancel
Save