X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm-remote%2Fsync%2Fservices_systemd_test.go;h=cf0f4ab1de543c99738873fbcf4c11747bfaffa2;hb=4e46a22dc5165611b254081597c65969c8c2ce39;hp=df226fc85e00fae40dc06834e25deae3a1bce5e5;hpb=992eaae7fec45c2d58fff89d1bc0ae920a899296;p=safcm%2Fsafcm.git diff --git a/cmd/safcm-remote/sync/services_systemd_test.go b/cmd/safcm-remote/sync/services_systemd_test.go index df226fc..cf0f4ab 100644 --- a/cmd/safcm-remote/sync/services_systemd_test.go +++ b/cmd/safcm-remote/sync/services_systemd_test.go @@ -19,12 +19,10 @@ import ( "bytes" "fmt" "os/exec" - "reflect" "testing" - "github.com/google/go-cmp/cmp" - "ruderich.org/simon/safcm" + "ruderich.org/simon/safcm/testutil" ) func TestSyncServicesSystemd(t *testing.T) { @@ -41,7 +39,7 @@ func TestSyncServicesSystemd(t *testing.T) { }{ // NOTE: Also update MsgSyncResp in safcm test cases when - // changing anything here! + // changing the MsgSyncResp struct! { "no service change necessary", @@ -77,8 +75,7 @@ LoadError= Stderr: &bytes.Buffer{}, }}, []string{ - "4: sync remote: services: detected systemd", - "4: sync remote: services: checking service-one service-two", + "4: sync remote: services: checking service-one service-two (systemd detected)", `4: sync remote: services: running "/bin/systemctl" "show" "--property=ActiveState,UnitFileState,LoadError" "--" "service-one" "service-two"`, `5: sync remote: services: command stdout: ActiveState=active @@ -128,8 +125,7 @@ LoadError= "" Stderr: &bytes.Buffer{}, }}, []string{ - "4: sync remote: services: detected systemd", - "4: sync remote: services: checking service-one service-two", + "4: sync remote: services: checking service-one service-two (systemd detected)", `4: sync remote: services: running "/bin/systemctl" "show" "--property=ActiveState,UnitFileState,LoadError" "--" "service-one" "service-two"`, `5: sync remote: services: command stdout: ActiveState=active @@ -179,8 +175,7 @@ LoadError= Stderr: &bytes.Buffer{}, }}, []string{ - "4: sync remote: services: detected systemd", - "4: sync remote: services: checking service-does-not-exist service-two", + "4: sync remote: services: checking service-does-not-exist service-two (systemd detected)", `4: sync remote: services: running "/bin/systemctl" "show" "--property=ActiveState,UnitFileState,LoadError" "--" "service-does-not-exist" "service-two"`, `5: sync remote: services: command stdout: ActiveState=inactive @@ -226,7 +221,7 @@ LoadError= nil, nil, nil, - []byte(`fake stderr`), + []byte("fake stderr"), }, []error{nil, nil, nil, nil}, []*exec.Cmd{&exec.Cmd{ @@ -274,8 +269,7 @@ LoadError= Stderr: &bytes.Buffer{}, }}, []string{ - "4: sync remote: services: detected systemd", - "4: sync remote: services: checking service-one service-two service-three", + "4: sync remote: services: checking service-one service-two service-three (systemd detected)", `4: sync remote: services: running "/bin/systemctl" "show" "--property=ActiveState,UnitFileState,LoadError" "--" "service-one" "service-two" "service-three"`, `5: sync remote: services: command stdout: ActiveState=inactive @@ -358,8 +352,7 @@ LoadError= Stderr: &bytes.Buffer{}, }}, []string{ - "4: sync remote: services: detected systemd", - "4: sync remote: services: checking service-one service-two service-three", + "4: sync remote: services: checking service-one service-two service-three (systemd detected)", `4: sync remote: services: running "/bin/systemctl" "show" "--property=ActiveState,UnitFileState,LoadError" "--" "service-one" "service-two" "service-three"`, `5: sync remote: services: command stdout: ActiveState=inactive @@ -423,7 +416,7 @@ LoadError= [][]byte{ nil, nil, - []byte(`fake stderr`), + []byte("fake stderr"), }, []error{ nil, @@ -464,8 +457,7 @@ LoadError= Stderr: &bytes.Buffer{}, }}, []string{ - "4: sync remote: services: detected systemd", - "4: sync remote: services: checking service-one service-two service-three", + "4: sync remote: services: checking service-one service-two service-three (systemd detected)", `4: sync remote: services: running "/bin/systemctl" "show" "--property=ActiveState,UnitFileState,LoadError" "--" "service-one" "service-two" "service-three"`, `5: sync remote: services: command stdout: ActiveState=inactive @@ -508,30 +500,20 @@ LoadError= for _, tc := range tests { t.Run(tc.name, func(t *testing.T) { - s, res := prepareSync(tc.req, &testRunner{ - t: t, - expCmds: tc.expCmds, - resStdout: tc.stdout, - resStderr: tc.stderr, - resError: tc.errors, - }) - - err := s.syncServicesSystemd() - // 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) - } - dbg := res.Wait() - - if !reflect.DeepEqual(tc.expResp, s.resp) { - t.Errorf("resp: %s", - cmp.Diff(tc.expResp, s.resp)) - } - if !reflect.DeepEqual(tc.expDbg, dbg) { - t.Errorf("dbg: %s", - cmp.Diff(tc.expDbg, dbg)) - } + s, res := prepareSync(tc.req, &testRunner{ + t: t, + expCmds: tc.expCmds, + resStdout: tc.stdout, + resStderr: tc.stderr, + resError: tc.errors, + }) + + err := s.syncServicesSystemd() + testutil.AssertErrorEqual(t, "err", err, tc.expErr) + dbg := res.Wait() + + testutil.AssertEqual(t, "resp", s.resp, tc.expResp) + testutil.AssertEqual(t, "dbg", dbg, tc.expDbg) }) } }