]> ruderich.org/simon Gitweb - safcm/safcm.git/blobdiff - cmd/safcm-remote/sync/commands_test.go
safcm: add experimental support to sync from Windows hosts
[safcm/safcm.git] / cmd / safcm-remote / sync / commands_test.go
index 142a2542a931d4191d56f0b5be641da6a2b00cd7..0bd0949b020b922976744ea9f85e3beacf381cee 100644 (file)
@@ -54,7 +54,7 @@ func TestSyncCommands(t *testing.T) {
        }{
 
                // NOTE: Also update MsgSyncResp in safcm test cases when
-               // changing anything here!
+               // changing the MsgSyncResp struct!
 
                {
                        "successful command",
@@ -65,8 +65,11 @@ func TestSyncCommands(t *testing.T) {
                                        "group2",
                                        "host.example.org",
                                },
-                               Commands: []string{
-                                       "echo; env | grep SAFCM_",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group",
+                                               Cmd:       "echo; env | grep SAFCM_",
+                                       },
                                },
                        },
                        nil,
@@ -82,8 +85,8 @@ func TestSyncCommands(t *testing.T) {
                                Env: env,
                        }},
                        []string{
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo; env | grep SAFCM_"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr",
+                               `3: commands: running "/bin/sh" "-c" "echo; env | grep SAFCM_" (group)`,
+                               "5: commands: command output:\nfake stdout/stderr",
                        },
                        safcm.MsgSyncResp{
                                CommandChanges: []safcm.CommandChange{
@@ -105,8 +108,11 @@ func TestSyncCommands(t *testing.T) {
                                        "group2",
                                        "host.example.org",
                                },
-                               Commands: []string{
-                                       "echo; env | grep SAFCM_",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group",
+                                               Cmd:       "echo; env | grep SAFCM_",
+                                       },
                                },
                        },
                        nil,
@@ -134,8 +140,11 @@ func TestSyncCommands(t *testing.T) {
                                        "group2",
                                        "host.example.org",
                                },
-                               Commands: []string{
-                                       "echo hi; false",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group",
+                                               Cmd:       "echo hi; false",
+                                       },
                                },
                        },
                        nil,
@@ -151,8 +160,8 @@ func TestSyncCommands(t *testing.T) {
                                Env: env,
                        }},
                        []string{
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo hi; false"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr",
+                               `3: commands: running "/bin/sh" "-c" "echo hi; false" (group)`,
+                               "5: commands: command output:\nfake stdout/stderr",
                        },
                        safcm.MsgSyncResp{
                                CommandChanges: []safcm.CommandChange{
@@ -175,8 +184,11 @@ func TestSyncCommands(t *testing.T) {
                                        "group2",
                                        "host.example.org",
                                },
-                               Commands: []string{
-                                       "echo hi; false",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group",
+                                               Cmd:       "echo hi; false",
+                                       },
                                },
                        },
                        nil,
@@ -204,11 +216,20 @@ func TestSyncCommands(t *testing.T) {
                                        "group2",
                                        "host.example.org",
                                },
-                               Commands: []string{
-                                       "echo first",
-                                       "echo second",
-                                       "false",
-                                       "echo third",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group1",
+                                               Cmd:       "echo first",
+                                       }, {
+                                               OrigGroup: "group2",
+                                               Cmd:       "echo second",
+                                       }, {
+                                               OrigGroup: "group3",
+                                               Cmd:       "false",
+                                       }, {
+                                               OrigGroup: "group4",
+                                               Cmd:       "echo third",
+                                       },
                                },
                        },
                        nil,
@@ -250,11 +271,11 @@ func TestSyncCommands(t *testing.T) {
                                Env: env,
                        }},
                        []string{
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo first"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr first",
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo second"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr second",
-                               `3: sync remote: commands: running "/bin/sh" "-c" "false"`,
+                               `3: commands: running "/bin/sh" "-c" "echo first" (group1)`,
+                               "5: commands: command output:\nfake stdout/stderr first",
+                               `3: commands: running "/bin/sh" "-c" "echo second" (group2)`,
+                               "5: commands: command output:\nfake stdout/stderr second",
+                               `3: commands: running "/bin/sh" "-c" "false" (group3)`,
                        },
                        safcm.MsgSyncResp{
                                CommandChanges: []safcm.CommandChange{
@@ -318,8 +339,11 @@ func TestSyncCommands(t *testing.T) {
                                                },
                                        },
                                },
-                               Commands: []string{
-                                       "echo; env | grep SAFCM_",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group",
+                                               Cmd:       "echo; env | grep SAFCM_",
+                                       },
                                },
                        },
                        []string{
@@ -364,12 +388,12 @@ func TestSyncCommands(t *testing.T) {
                                Env: env,
                        }},
                        []string{
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo trigger ."`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr .",
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo trigger dir"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr dir",
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo; env | grep SAFCM_"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr",
+                               `3: commands: running "/bin/sh" "-c" "echo trigger ." (".")`,
+                               "5: commands: command output:\nfake stdout/stderr .",
+                               `3: commands: running "/bin/sh" "-c" "echo trigger dir" ("dir")`,
+                               "5: commands: command output:\nfake stdout/stderr dir",
+                               `3: commands: running "/bin/sh" "-c" "echo; env | grep SAFCM_" (group)`,
+                               "5: commands: command output:\nfake stdout/stderr",
                        },
                        safcm.MsgSyncResp{
                                CommandChanges: []safcm.CommandChange{
@@ -434,8 +458,11 @@ func TestSyncCommands(t *testing.T) {
                                                },
                                        },
                                },
-                               Commands: []string{
-                                       "echo; env | grep SAFCM_",
+                               Commands: []*safcm.Command{
+                                       {
+                                               OrigGroup: "group",
+                                               Cmd:       "echo; env | grep SAFCM_",
+                                       },
                                },
                        },
                        []string{
@@ -470,10 +497,10 @@ func TestSyncCommands(t *testing.T) {
                                Env: env,
                        }},
                        []string{
-                               `3: sync remote: commands: running "/bin/sh" "-c" "echo trigger ."`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr .",
-                               `3: sync remote: commands: running "/bin/sh" "-c" "false"`,
-                               "5: sync remote: commands: command output:\nfake stdout/stderr dir",
+                               `3: commands: running "/bin/sh" "-c" "echo trigger ." (".")`,
+                               "5: commands: command output:\nfake stdout/stderr .",
+                               `3: commands: running "/bin/sh" "-c" "false" ("dir")`,
+                               "5: commands: command output:\nfake stdout/stderr dir",
                        },
                        safcm.MsgSyncResp{
                                CommandChanges: []safcm.CommandChange{