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, }), }, }, }) }
func (s *addCredentialSuite) run(c *gc.C, stdin io.Reader, args ...string) (*cmd.Context, error) { addCmd := cloud.NewAddCredentialCommandForTest(s.store, s.cloudByNameFunc) err := testing.InitCommand(addCmd, args) if err != nil { return nil, err } ctx := testing.Context(c) ctx.Stdin = stdin return ctx, addCmd.Run(ctx) }