From: Simon Ruderich Date: Sat, 25 Oct 2025 08:13:08 +0000 (+0200) Subject: frontend: test: don't duplicate change list X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=c9c665e10f8f0e51434c7d24d16579f06cf873b0;p=safcm%2Fsafcm.git frontend: test: don't duplicate change list It's used for "regular" and "regular (tty)" tests. Besides removing the duplication this also ensures all changes are tested with and without TTY output. --- diff --git a/frontend/changes_test.go b/frontend/changes_test.go index a038318..0d3b55d 100644 --- a/frontend/changes_test.go +++ b/frontend/changes_test.go @@ -157,19 +157,7 @@ func TestFormatChanges(t *testing.T) { } func TestFormatFileChanges(t *testing.T) { - tests := []struct { - name string - dryRun bool - isTTY bool - changes []safcm.FileChange - exp string - }{ - - { - "regular", - false, - false, - []safcm.FileChange{ + changes := []safcm.FileChange{ { Path: "created: file", Created: true, @@ -324,7 +312,21 @@ func TestFormatFileChanges(t *testing.T) { `, }, - }, + } + + tests := []struct { + name string + dryRun bool + isTTY bool + changes []safcm.FileChange + exp string + }{ + + { + "regular", + false, + false, + changes, `changed 9 file(s): "created: file": created, file, user(1000) group(2000), 0644 "created: link": created, symlink, user(1000) group(2000), 0777 @@ -352,162 +354,7 @@ func TestFormatFileChanges(t *testing.T) { "regular (tty)", false, true, - []safcm.FileChange{ - { - Path: "created: file", - Created: true, - New: safcm.FileChangeInfo{ - Mode: 0644, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - }, - { - Path: "created: link", - Created: true, - New: safcm.FileChangeInfo{ - Mode: fs.ModeSymlink | 0777, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - }, - { - Path: "type change: file -> dir", - Old: safcm.FileChangeInfo{ - Mode: 0751, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: fs.ModeDir | 0751, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - DataDiff: `@@ -1,2 +1 @@ --content - -`, - }, - { - Path: "user change", - Old: safcm.FileChangeInfo{ - Mode: 0755, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: 0755, - User: "user2", - Uid: 1001, - Group: "group", - Gid: 2000, - }, - }, - { - Path: "group change", - Old: safcm.FileChangeInfo{ - Mode: 0755, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: 0755, - User: "user", - Uid: 1000, - Group: "group2", - Gid: 2001, - }, - }, - { - Path: "mode change", - Old: safcm.FileChangeInfo{ - Mode: 0755, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: 0750, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - }, - { - Path: "mode change (setuid)", - Old: safcm.FileChangeInfo{ - Mode: 0755, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: 0755 | fs.ModeSetuid, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - }, - { - Path: "content change", - Old: safcm.FileChangeInfo{ - Mode: 0644, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: 0644, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - DataDiff: `@@ -1,2 +1,2 @@ --old content -+content - -`, - }, - { - Path: "multiple changes", - Old: safcm.FileChangeInfo{ - Mode: 0644, - User: "user", - Uid: 1000, - Group: "group", - Gid: 2000, - }, - New: safcm.FileChangeInfo{ - Mode: fs.ModeDir | 0755, - User: "user2", - Uid: 1001, - Group: "group2", - Gid: 2001, - }, - DataDiff: `@@ -1,2 +1 @@ --content - -`, - }, - }, + changes, "changed 9 file(s):\n\x1b[36m\"created: file\"\x1b[0m: \x1b[32mcreated\x1b[0m, file, user(1000) group(2000), 0644\n\x1b[36m\"created: link\"\x1b[0m: \x1b[32mcreated\x1b[0m, symlink, user(1000) group(2000), 0777\n\x1b[36m\"type change: file -> dir\"\x1b[0m: file -> dir\n @@ -1,2 +1 @@\n\x1b[31m -content\x1b[0m\n \n\x1b[36m\"user change\"\x1b[0m: user(1000) group(2000) -> user2(1001) group(2000)\n\x1b[36m\"group change\"\x1b[0m: user(1000) group(2000) -> user(1000) group2(2001)\n\x1b[36m\"mode change\"\x1b[0m: 0755 -> 0750\n\x1b[36m\"mode change (setuid)\"\x1b[0m: 0755 -> 04755\n\x1b[36m\"content change\"\x1b[0m:\n @@ -1,2 +1,2 @@\n\x1b[31m -old content\x1b[0m\n\x1b[32m +content\x1b[0m\n \n\x1b[36m\"multiple changes\"\x1b[0m: file -> dir, user(1000) group(2000) -> user2(1001) group2(2001), 0644 -> 0755\n @@ -1,2 +1 @@\n\x1b[31m -content\x1b[0m\n \n", },