github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/worker/uniter/runner/jujuc/k8s-spec-get_test.go (about) 1 // Copyright 2019 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package jujuc_test 5 6 import ( 7 "github.com/juju/cmd/v3" 8 "github.com/juju/cmd/v3/cmdtesting" 9 jc "github.com/juju/testing/checkers" 10 gc "gopkg.in/check.v1" 11 12 "github.com/juju/juju/worker/uniter/runner/jujuc" 13 ) 14 15 type K8sSpecGetSuite struct { 16 ContextSuite 17 } 18 19 var _ = gc.Suite(&K8sSpecGetSuite{}) 20 21 var k8sSpecGetInitTests = []struct { 22 args []string 23 err string 24 }{ 25 {[]string{"extra"}, `unrecognized args: \["extra"\]`}, 26 } 27 28 func (s *K8sSpecGetSuite) TestK8sSpecGetInit(c *gc.C) { 29 for i, t := range k8sSpecGetInitTests { 30 c.Logf("test %d: %#v", i, t.args) 31 hctx := s.GetHookContext(c, -1, "") 32 com, err := jujuc.NewCommand(hctx, "k8s-spec-get") 33 c.Assert(err, jc.ErrorIsNil) 34 cmdtesting.TestInit(c, jujuc.NewJujucCommandWrappedForTest(com), t.args, t.err) 35 } 36 } 37 38 func (s *K8sSpecGetSuite) TestHelp(c *gc.C) { 39 hctx := s.GetHookContext(c, -1, "") 40 com, err := jujuc.NewCommand(hctx, "k8s-spec-get") 41 c.Assert(err, jc.ErrorIsNil) 42 ctx := cmdtesting.Context(c) 43 code := cmd.Main(jujuc.NewJujucCommandWrappedForTest(com), ctx, []string{"--help"}) 44 c.Assert(code, gc.Equals, 0) 45 expectedHelp := ` 46 Usage: k8s-spec-get 47 48 Summary: 49 get k8s spec information 50 51 Details: 52 Gets configuration data used to set up k8s resources. 53 `[1:] 54 55 c.Assert(bufferString(ctx.Stdout), gc.Equals, expectedHelp) 56 c.Assert(bufferString(ctx.Stderr), gc.Equals, "") 57 } 58 59 func (s *K8sSpecGetSuite) TestK8sSpecSet(c *gc.C) { 60 hctx := s.GetHookContext(c, -1, "") 61 hctx.info.K8sSpec = "k8sspec" 62 com, err := jujuc.NewCommand(hctx, "k8s-spec-get") 63 c.Assert(err, jc.ErrorIsNil) 64 ctx := cmdtesting.Context(c) 65 66 code := cmd.Main(jujuc.NewJujucCommandWrappedForTest(com), ctx, nil) 67 c.Check(code, gc.Equals, 0) 68 c.Assert(bufferString(ctx.Stderr), gc.Equals, "") 69 c.Assert(bufferString(ctx.Stdout), gc.Equals, "k8sspec") 70 }