test(metis): cover small persistence and device edges
This commit is contained in:
parent
1a3cd78e8a
commit
c7a264e0e8
@ -54,3 +54,14 @@ func TestLoadDirReadsNestedDirectoriesAndMissingDir(t *testing.T) {
|
||||
t.Fatal("expected missing dir error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadDirReportsReadFailures(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
if err := os.Symlink(filepath.Join(dir, "missing-target"), filepath.Join(dir, "broken.json")); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if _, err := LoadDir(dir); err == nil {
|
||||
t.Fatal("expected broken json symlink to fail during read")
|
||||
}
|
||||
}
|
||||
|
||||
@ -36,6 +36,15 @@ func TestServiceArtifactAndSnapshotPersistenceErrorBranches(t *testing.T) {
|
||||
if err := app.persistTargets(); err == nil {
|
||||
t.Fatal("expected persistTargets to fail when parent is a file")
|
||||
}
|
||||
|
||||
invalidArtifactState := filepath.Join(t.TempDir(), "artifacts.json")
|
||||
if err := os.WriteFile(invalidArtifactState, []byte("{bad-json"), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
app.settings.ArtifactStatePath = invalidArtifactState
|
||||
if err := app.loadArtifacts(); err == nil {
|
||||
t.Fatal("expected loadArtifacts to reject invalid json")
|
||||
}
|
||||
}
|
||||
|
||||
func TestServiceReplacementAndDeviceBranches(t *testing.T) {
|
||||
@ -72,6 +81,14 @@ func TestServiceReplacementAndDeviceBranches(t *testing.T) {
|
||||
if got, err := app.cachedDevices("host"); err == nil || len(got) != 1 {
|
||||
t.Fatalf("cachedDevices error snapshot = %#v err=%v", got, err)
|
||||
}
|
||||
app.settings.DefaultFlashHost = "default-host"
|
||||
app.recordDevices("", []Device{{Path: "/dev/mmcblk0"}}, nil)
|
||||
if got, err := app.cachedDevices(""); err != nil || len(got) != 1 || got[0].Path != "/dev/mmcblk0" {
|
||||
t.Fatalf("default-host cachedDevices = %#v err=%v", got, err)
|
||||
}
|
||||
if got := deviceScore(Device{Name: "sda", Model: "SDXC Card"}); got != 50 {
|
||||
t.Fatalf("expected sd card score, got %d", got)
|
||||
}
|
||||
if _, err := app.Replace("incomplete", "titan-22", "/dev/sdz"); err == nil {
|
||||
t.Fatal("expected Replace to reject incomplete node")
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user