]> ruderich.org/simon Gitweb - safcm/safcm.git/commitdiff
frontend: test: don't duplicate change list
authorSimon Ruderich <simon@ruderich.org>
Sat, 25 Oct 2025 08:13:08 +0000 (10:13 +0200)
committerSimon Ruderich <simon@ruderich.org>
Sat, 25 Oct 2025 08:15:13 +0000 (10:15 +0200)
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.

frontend/changes_test.go

index a03831864198db09083b885e402fbec66fa3a977..0d3b55d1f07ab63ebfdfbf80896906d584072c7e 100644 (file)
@@ -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",
                },