}
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,
`,
},
- },
+ }
+
+ 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
"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",
},