X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync_changes_test.go;h=d8ce97b2a876ea45c2d18d5d78f0959eb2e1fe17;hb=367edc1286a52d96fcfef6f98330148cad8a64e1;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..d8ce97b 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", + }, + }, + }, + "\nexecuted 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", + }, + }, + }, + "executed 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, }