func (s *SetSuite) assertSetWarning(c *gc.C, dir string, args []string, w string) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(service.NewSetCommandWithAPI(s.fakeClientAPI, s.fakeServiceAPI), ctx, append([]string{"dummy-service"}, args...)) c.Check(code, gc.Equals, 0) c.Assert(strings.Replace(c.GetTestLog(), "\n", " ", -1), gc.Matches, ".*WARNING.*"+w+".*") }
func (s *configCommandSuite) assertSetWarning(c *gc.C, dir string, args []string, w string) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, append([]string{"dummy-application"}, args...)) c.Check(code, gc.Equals, 0) c.Assert(strings.Replace(c.GetTestLog(), "\n", " ", -1), gc.Matches, ".*WARNING.*"+w+".*") }
func (s *addCredentialSuite) assertAddFileCredential(c *gc.C, input, fileKey string) { dir := c.MkDir() filename := filepath.Join(dir, "jsonfile") err := ioutil.WriteFile(filename, []byte{}, 0600) c.Assert(err, jc.ErrorIsNil) stdin := strings.NewReader(fmt.Sprintf(input, filename)) addCmd := cloud.NewAddCredentialCommandForTest(s.store, s.cloudByNameFunc) err = testing.InitCommand(addCmd, []string{"somecloud"}) c.Assert(err, jc.ErrorIsNil) ctx := testing.ContextForDir(c, dir) ctx.Stdin = stdin err = addCmd.Run(ctx) c.Assert(err, jc.ErrorIsNil) c.Assert(s.store.Credentials, jc.DeepEquals, map[string]jujucloud.CloudCredential{ "somecloud": { AuthCredentials: map[string]jujucloud.Credential{ "fred": jujucloud.NewCredential(s.authTypes[0], map[string]string{ fileKey: filename, }), }, }, }) }
// setupConfigFile creates a configuration file for testing set // with the --config argument specifying a configuration file. func setupConfigFile(c *gc.C, dir string) string { ctx := coretesting.ContextForDir(c, dir) path := ctx.AbsPath("testconfig.yaml") content := []byte(yamlConfigValue) err := ioutil.WriteFile(path, content, 0666) c.Assert(err, jc.ErrorIsNil) return path }
// setupConfigFile creates a configuration file for testing set // with the --config argument specifying a configuration file. func setupConfigFile(c *gc.C, dir string) string { ctx := coretesting.ContextForDir(c, dir) path := ctx.AbsPath("testconfig.yaml") content := []byte("dummy-service:\n skill-level: 9000\n username: admin001\n\n") err := ioutil.WriteFile(path, content, 0666) c.Assert(err, jc.ErrorIsNil) return path }
// setupValueFile creates a file containing one value for testing // set with name=@filename. func setupValueFile(c *gc.C, dir, filename, value string) string { ctx := coretesting.ContextForDir(c, dir) path := ctx.AbsPath(filename) content := []byte(value) err := ioutil.WriteFile(path, content, 0666) c.Assert(err, gc.IsNil) return path }
// assertSetSuccess sets configuration options and checks the expected settings. func assertSetSuccess(c *gc.C, dir string, svc *state.Service, args []string, expect charm.Settings) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(envcmd.Wrap(&SetCommand{}), ctx, append([]string{"dummy-service"}, args...)) c.Check(code, gc.Equals, 0) settings, err := svc.ConfigSettings() c.Assert(err, gc.IsNil) c.Assert(settings, gc.DeepEquals, expect) }
func (s *UnsetSuite) TestBlockUnset(c *gc.C) { // Block operation s.fake.err = common.ErrOperationBlocked("TestBlockUnset") ctx := coretesting.ContextForDir(c, s.dir) code := cmd.Main(envcmd.Wrap(service.NewUnsetCommand(s.fake)), ctx, []string{ "dummy-service", "username"}) c.Check(code, gc.Equals, 1) // msg is logged stripped := strings.Replace(c.GetTestLog(), "\n", "", -1) c.Check(stripped, gc.Matches, ".*TestBlockUnset.*") }
func (s *configCommandSuite) TestBlockSetConfig(c *gc.C) { // Block operation s.fake.err = common.OperationBlockedError("TestBlockSetConfig") ctx := coretesting.ContextForDir(c, s.dir) code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{ "dummy-application", "--file", "testconfig.yaml"}) c.Check(code, gc.Equals, 1) // msg is logged stripped := strings.Replace(c.GetTestLog(), "\n", "", -1) c.Check(stripped, gc.Matches, ".*TestBlockSetConfig.*") }
func (s *SetSuite) TestBlockSetConfig(c *gc.C) { // Block operation s.fakeServiceAPI.err = common.OperationBlockedError("TestBlockSetConfig") ctx := coretesting.ContextForDir(c, s.dir) code := cmd.Main(service.NewSetCommandWithAPI(s.fakeClientAPI, s.fakeServiceAPI), ctx, []string{ "dummy-service", "--config", "testconfig.yaml"}) c.Check(code, gc.Equals, 1) // msg is logged stripped := strings.Replace(c.GetTestLog(), "\n", "", -1) c.Check(stripped, gc.Matches, ".*TestBlockSetConfig.*") }
func (s *configCommandSuite) TestSetConfig(c *gc.C) { s.assertSetFail(c, s.dir, []string{ "--file", "missing.yaml", }, "error.* "+utils.NoSuchFileErrRegexp+"\n") ctx := coretesting.ContextForDir(c, s.dir) code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, []string{ "dummy-application", "--file", "testconfig.yaml"}) c.Check(code, gc.Equals, 0) c.Check(s.fake.config, gc.Equals, yamlConfigValue) }
func (s *SetSuite) TestSetConfig(c *gc.C) { s.assertSetFail(c, s.dir, []string{ "--config", "missing.yaml", }, "error.* "+utils.NoSuchFileErrRegexp+"\n") ctx := coretesting.ContextForDir(c, s.dir) code := cmd.Main(service.NewSetCommandWithAPI(s.fakeClientAPI, s.fakeServiceAPI), ctx, []string{ "dummy-service", "--config", "testconfig.yaml"}) c.Check(code, gc.Equals, 0) c.Check(s.fakeServiceAPI.config, gc.Equals, yamlConfigValue) }
// setupBigFile creates a too big file for testing // set with name=@filename. func setupBigFile(c *gc.C, dir string) string { ctx := coretesting.ContextForDir(c, dir) path := ctx.AbsPath("big.txt") file, err := os.Create(path) c.Assert(err, gc.IsNil) defer file.Close() chunk := make([]byte, 1024) for i := 0; i < cap(chunk); i++ { chunk[i] = byte(i % 256) } for i := 0; i < 6000; i++ { _, err = file.Write(chunk) c.Assert(err, gc.IsNil) } return path }
// assertSetFail sets configuration options and checks the expected error. func assertSetFail(c *gc.C, dir string, args []string, err string) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(envcmd.Wrap(&SetCommand{}), ctx, append([]string{"dummy-service"}, args...)) c.Check(code, gc.Not(gc.Equals), 0) c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Matches, err) }
// assertUnsetSuccess unsets configuration options and checks the expected settings. func (s *UnsetSuite) assertUnsetSuccess(c *gc.C, dir string, args []string, expect map[string]interface{}) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(envcmd.Wrap(service.NewUnsetCommand(s.fake)), ctx, append([]string{"dummy-service"}, args...)) c.Check(code, gc.Equals, 0) c.Assert(s.fake.values, gc.DeepEquals, expect) }
// assertUnsetFail unsets configuration options and checks the expected error. func (s *UnsetSuite) assertUnsetFail(c *gc.C, dir string, args []string, err string) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(service.NewUnsetCommand(s.fake), ctx, append([]string{"dummy-service"}, args...)) c.Check(code, gc.Not(gc.Equals), 0) c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Matches, err) }
// assertSetSuccess sets configuration options and checks the expected settings. func (s *configCommandSuite) assertSetSuccess(c *gc.C, dir string, args []string, expect map[string]interface{}) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, append([]string{"dummy-application"}, args...)) c.Assert(code, gc.Equals, 0) }
// assertSetFail sets configuration options and checks the expected error. func (s *configCommandSuite) assertSetFail(c *gc.C, dir string, args []string, err string) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(application.NewConfigCommandForTest(s.fake), ctx, append([]string{"dummy-application"}, args...)) c.Check(code, gc.Not(gc.Equals), 0) c.Assert(ctx.Stderr.(*bytes.Buffer).String(), gc.Matches, err) }
// assertSetSuccess sets configuration options and checks the expected settings. func (s *SetSuite) assertSetSuccess(c *gc.C, dir string, args []string, expect map[string]interface{}) { ctx := coretesting.ContextForDir(c, dir) code := cmd.Main(service.NewSetCommandWithAPI(s.fakeClientAPI, s.fakeServiceAPI), ctx, append([]string{"dummy-service"}, args...)) c.Check(code, gc.Equals, 0) c.Assert(s.fakeClientAPI.values, gc.DeepEquals, expect) }