func (s *RemoveSuite) TestInit(c *gc.C) { for i, test := range []struct { about string args []string expectName string expectErr string }{{ about: "no arguments", expectErr: "space name is required", }, { about: "invalid space name", args: s.Strings("%inv$alid", "new-name"), expectErr: `"%inv\$alid" is not a valid space name`, }, { about: "multiple space names aren't allowed", args: s.Strings("a-space", "another-space"), expectErr: `unrecognized args: \["another-space"\]`, expectName: "a-space", }, { about: "delete a valid space name", args: s.Strings("myspace"), expectName: "myspace", }} { c.Logf("test #%d: %s", i, test.about) // Create a new instance of the subcommand for each test, but // since we're not running the command no need to use // modelcmd.Wrap(). wrappedCommand, command := space.NewRemoveCommandForTest(s.api) err := coretesting.InitCommand(wrappedCommand, test.args) if test.expectErr != "" { prefixedErr := "invalid arguments specified: " + test.expectErr c.Check(err, gc.ErrorMatches, prefixedErr) } else { c.Check(err, jc.ErrorIsNil) } c.Check(command.Name(), gc.Equals, test.expectName) // No API calls should be recorded at this stage. s.api.CheckCallNames(c) } }
func (s *RemoveSuite) SetUpTest(c *gc.C) { s.BaseSuite.SetFeatureFlags(feature.PostNetCLIMVP) s.BaseSpaceSuite.SetUpTest(c) s.command, _ = space.NewRemoveCommandForTest(s.api) c.Assert(s.command, gc.NotNil) }