"log"
"os"
"path/filepath"
- "reflect"
"testing"
- "github.com/google/go-cmp/cmp"
-
"ruderich.org/simon/safcm"
+ "ruderich.org/simon/safcm/testutil"
)
func TestHostSyncReq(t *testing.T) {
Groups: []string{
"all",
"group",
+ "group3",
"remove",
"host1.example.org",
},
Mode: 0644,
Uid: -1,
Gid: -1,
- Data: []byte("Welcome to Host ONE\n\n\n\n"),
+ Data: []byte("Welcome to Host ONE\n\n\n\n\n\nall\n\n\nhost1.example.org\n\n\n\n"),
},
"/etc/rc.local": &safcm.File{
OrigGroup: "group",
Services: []string{
"unbound",
},
- Commands: []string{
- "echo command one",
- "echo -n command two",
+ Commands: []*safcm.Command{
+ {
+ OrigGroup: "group",
+ Cmd: "echo command one",
+ },
+ {
+ OrigGroup: "group",
+ Cmd: "echo -n command two",
+ },
},
},
[]string{
- "host1.example.org: <nil> 3 host groups: all group host1.example.org remove",
+ "host1.example.org: <nil> 3 host groups: all group group3 host1.example.org remove",
"host1.example.org: <nil> 3 host group priorities (desc. order): host1.example.org",
},
nil,
Groups: []string{
"all",
"group",
+ "group3",
"remove",
"host1.example.org",
},
Mode: 0644,
Uid: -1,
Gid: -1,
- Data: []byte("Welcome to Host ONE\n\n\n\n"),
+ Data: []byte("Welcome to Host ONE\n\n\n\n\n\nall\n\n\nhost1.example.org\n\n\n\n"),
},
"/etc/rc.local": &safcm.File{
OrigGroup: "group",
Services: []string{
"unbound",
},
- Commands: []string{
- "echo command one",
- "echo -n command two",
+ Commands: []*safcm.Command{
+ {
+ OrigGroup: "group",
+ Cmd: "echo command one",
+ },
+ {
+ OrigGroup: "group",
+ Cmd: "echo -n command two",
+ },
},
},
nil,
}
res, err := s.hostSyncReq(tc.detected)
- if !reflect.DeepEqual(tc.exp, res) {
- t.Errorf("res: %s", cmp.Diff(tc.exp, res))
- }
- // Ugly but the simplest way to compare errors (including nil)
- if fmt.Sprintf("%s", err) != fmt.Sprintf("%s", tc.expErr) {
- t.Errorf("err = %#v, want %#v",
- err, tc.expErr)
- }
+
+ testutil.AssertEqual(t, "res", res, tc.exp)
+ testutil.AssertErrorEqual(t, "err", err, tc.expErr)
close(ch)
<-done
- if !reflect.DeepEqual(tc.expEvents, events) {
- t.Errorf("events: %s",
- cmp.Diff(tc.expEvents, events))
- }
+ testutil.AssertEqual(t, "events",
+ events, tc.expEvents)
})
}
}