func (s *GetSuite) TestGetConfig(c *gc.C) { for _, t := range getTests { ctx := coretesting.Context(c) code := cmd.Main(service.NewGetCommandForTest(s.fake), ctx, []string{t.service}) c.Check(code, gc.Equals, 0) c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Equals, "") // round trip via goyaml to avoid being sucked into a quagmire of // map[interface{}]interface{} vs map[string]interface{}. This is // also required if we add json support to this command. buf, err := goyaml.Marshal(t.expected) c.Assert(err, jc.ErrorIsNil) expected := make(map[string]interface{}) err = goyaml.Unmarshal(buf, &expected) c.Assert(err, jc.ErrorIsNil) actual := make(map[string]interface{}) err = goyaml.Unmarshal(ctx.Stdout.(*bytes.Buffer).Bytes(), &actual) c.Assert(err, jc.ErrorIsNil) c.Assert(actual, gc.DeepEquals, expected) } }
func (s *GetSuite) TestGetCommandInit(c *gc.C) { // missing args err := coretesting.InitCommand(service.NewGetCommandForTest(s.fake), []string{}) c.Assert(err, gc.ErrorMatches, "no service name specified") }