X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync_changes_test.go;h=219373c9522e4edfba458d3dd410b306c7ccdb06;hb=6f7b878074e898edc4942117d590f51d79a4d009;hp=c1e4aef899e257eeef2cb832282b6cca9b29770a;hpb=cfcc39441d8e9b1f003b8d5c02240e7186bfc2d1;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/sync_changes_test.go b/cmd/safcm/sync_changes_test.go index c1e4aef..219373c 100644 --- a/cmd/safcm/sync_changes_test.go +++ b/cmd/safcm/sync_changes_test.go @@ -28,6 +28,7 @@ func TestFormatChanges(t *testing.T) { tests := []struct { name string dryRun bool + quiet bool isTTY bool resp safcm.MsgSyncResp exp string @@ -40,14 +41,16 @@ func TestFormatChanges(t *testing.T) { "no changes", false, false, + false, safcm.MsgSyncResp{}, - "", + "no changes", }, { "changes", false, false, + false, safcm.MsgSyncResp{ FileChanges: []safcm.FileChange{ { @@ -97,6 +100,59 @@ func TestFormatChanges(t *testing.T) { }, "\nchanged 1 file(s):\n\"created\": created, file, user(1000) group(2000), 0644\n\ninstalled 2 package(s):\n\"package-one\"\n\"package-two\"\n\nmodified 3 service(s):\n\"service-one\": started\n\"service-two\": enabled\n\"service-three\": started, enabled\n\nexecuted 2 command(s):\n\"fake command\":\n > fake output\n > \\ No newline at end of file\n\"fake command with no output\"\n", }, + + { + "command changes only, dry-run", + true, + false, + false, + safcm.MsgSyncResp{ + CommandChanges: []safcm.CommandChange{ + { + Command: "fake command", + }, + { + Command: "fake command with no output", + }, + { + Command: "fake command with newline", + }, + { + Command: "fake command with more output", + }, + { + Command: "fake failed command", + }, + }, + }, + "\nwill execute 5 command(s): (dry-run)\n\"fake command\"\n\"fake command with no output\"\n\"fake command with newline\"\n\"fake command with more output\"\n\"fake failed command\"\n", + }, + { + "command changes only, quiet & dry-run", + true, + true, + false, + safcm.MsgSyncResp{ + CommandChanges: []safcm.CommandChange{ + { + Command: "fake command", + }, + { + Command: "fake command with no output", + }, + { + Command: "fake command with newline", + }, + { + Command: "fake command with more output", + }, + { + Command: "fake failed command", + }, + }, + }, + "will execute 5 command(s) (dry-run)\n", + }, } for _, tc := range tests { @@ -104,6 +160,7 @@ func TestFormatChanges(t *testing.T) { s := &Sync{ config: &config.Config{ DryRun: tc.dryRun, + Quiet: tc.quiet, }, isTTY: tc.isTTY, } @@ -486,7 +543,7 @@ func TestFormatFileChanges(t *testing.T) { }, }, }, - `changed 1 file(s): (dry-run) + `will change 1 file(s): (dry-run) "file": created, file, user(1000) group(2000), 0644 `, }, @@ -508,7 +565,7 @@ func TestFormatFileChanges(t *testing.T) { }, }, }, - "changed 1 file(s): (dry-run)\n\x1B[36m\"file\"\x1B[0m: \x1B[32mcreated\x1B[0m, file, user(1000) group(2000), 0644\n", + "will change 1 file(s): (dry-run)\n\x1B[36m\"file\"\x1B[0m: \x1B[32mcreated\x1B[0m, file, user(1000) group(2000), 0644\n", }, { @@ -666,7 +723,7 @@ func TestFormatPackageChanges(t *testing.T) { Name: "package-two", }, }, - `installed 2 package(s): (dry-run) + `will install 2 package(s): (dry-run) "package-one" "package-two" `, @@ -684,7 +741,7 @@ func TestFormatPackageChanges(t *testing.T) { Name: "package-two", }, }, - "installed 2 package(s): (dry-run)\n\x1b[36m\"package-one\"\x1b[0m\n\x1b[36m\"package-two\"\x1b[0m\n", + "will install 2 package(s): (dry-run)\n\x1b[36m\"package-one\"\x1b[0m\n\x1b[36m\"package-two\"\x1b[0m\n", }, { @@ -805,7 +862,7 @@ func TestFormatServiceChanges(t *testing.T) { Enabled: true, }, }, - `modified 3 service(s): (dry-run) + `will modify 3 service(s): (dry-run) "service-one": started "service-two": enabled "service-three": started, enabled @@ -831,7 +888,7 @@ func TestFormatServiceChanges(t *testing.T) { Enabled: true, }, }, - "modified 3 service(s): (dry-run)\n\x1b[36m\"service-one\"\x1b[0m: started\n\x1b[36m\"service-two\"\x1b[0m: enabled\n\x1b[36m\"service-three\"\x1b[0m: started, enabled\n", + "will modify 3 service(s): (dry-run)\n\x1b[36m\"service-one\"\x1b[0m: started\n\x1b[36m\"service-two\"\x1b[0m: enabled\n\x1b[36m\"service-three\"\x1b[0m: started, enabled\n", }, { @@ -979,13 +1036,10 @@ func TestFormatCommandChanges(t *testing.T) { []safcm.CommandChange{ { Command: "fake command", - Output: "fake output", }, }, - `executed 1 command(s): (dry-run) -"fake command": - > fake output - > \ No newline at end of file + `will execute 1 command(s): (dry-run) +"fake command" `, }, @@ -997,10 +1051,9 @@ func TestFormatCommandChanges(t *testing.T) { []safcm.CommandChange{ { Command: "fake command", - Output: "fake output", }, }, - "executed 1 command(s): (dry-run)\n\x1b[36m\"fake command\"\x1b[0m:\n > fake output\n > \\ No newline at end of file\n", + "will execute 1 command(s): (dry-run)\n\x1b[36m\"fake command\"\x1b[0m\n", }, { @@ -1030,7 +1083,7 @@ func TestFormatCommandChanges(t *testing.T) { Error: "fake error", }, }, - `executed 5 command(s), 1 with no output: + `executed 5 command(s), 1 with no output (hidden): "fake command": > fake output > \ No newline at end of file @@ -1073,7 +1126,7 @@ func TestFormatCommandChanges(t *testing.T) { Error: "fake error", }, }, - "executed 5 command(s), 1 with no output:\n\x1b[36m\"fake command\"\x1b[0m:\n > fake output\n > \\ No newline at end of file\n\x1b[36m\"fake command with newline\"\x1b[0m:\n > fake output\n\x1b[36m\"fake command with more output\"\x1b[0m:\n > fake out\n > fake put\n > fake\n\x1b[36m\"fake failed command\"\x1b[0m, failed: \"fake error\":\n > fake output\n > \\ No newline at end of file\n", + "executed 5 command(s), 1 with no output (hidden):\n\x1b[36m\"fake command\"\x1b[0m:\n > fake output\n > \\ No newline at end of file\n\x1b[36m\"fake command with newline\"\x1b[0m:\n > fake output\n\x1b[36m\"fake command with more output\"\x1b[0m:\n > fake out\n > fake put\n > fake\n\x1b[36m\"fake failed command\"\x1b[0m, failed: \"fake error\":\n > fake output\n > \\ No newline at end of file\n", }, { @@ -1089,7 +1142,7 @@ func TestFormatCommandChanges(t *testing.T) { Command: "fake command with no output", }, }, - `executed 2 command(s), 2 with no output + `executed 2 command(s), 2 with no output (hidden) `, }, @@ -1107,7 +1160,7 @@ func TestFormatCommandChanges(t *testing.T) { Command: "fake command with no output", }, }, - `executed 2 command(s), 1 with no output: + `executed 2 command(s), 1 with no output (hidden): "fake command with no output but error", failed: "fake error" `, }, @@ -1134,7 +1187,7 @@ func TestFormatCommandChanges(t *testing.T) { Command: "fake failed command", }, }, - `executed 5 command(s) (dry-run) + `will execute 5 command(s) (dry-run) `, },