func (s *RunTestSuite) TestRunningRemoteUnitNoRelation(c *gc.C) { loggo.GetLogger("worker.uniter").SetLogLevel(loggo.TRACE) s.runListenerForAgent(c, "unit-foo-1") _, err := testing.RunCommand(c, &RunCommand{}, "--remote-unit", "remote/0", "foo/1", "bar") c.Check(cmd.IsRcPassthroughError(err), jc.IsFalse) c.Assert(err, gc.ErrorMatches, "remote unit: remote/0, provided without a relation") }
func (s *SSHCommandSuite) TestCommandError(c *gc.C) { var opts ssh.Options err := ioutil.WriteFile(s.fakessh, []byte("#!/bin/sh\nexit 42"), 0755) c.Assert(err, jc.ErrorIsNil) command := s.client.Command("ignored", []string{echoCommand, "foo"}, &opts) err = command.Run() c.Assert(cmd.IsRcPassthroughError(err), jc.IsTrue) }
func (s *RunTestSuite) TestRunningBadRelation(c *gc.C) { loggo.GetLogger("worker.uniter").SetLogLevel(loggo.TRACE) s.runListenerForAgent(c, "unit-foo-1") _, err := testing.RunCommand(c, &RunCommand{}, "--relation", "badrelation:W", "foo/1", "bar") c.Check(cmd.IsRcPassthroughError(err), jc.IsFalse) c.Assert(err, gc.ErrorMatches, "invalid relation id") }
func (s *RunTestSuite) TestSkipCheckAndRemoteUnit(c *gc.C) { loggo.GetLogger("worker.uniter").SetLogLevel(loggo.TRACE) s.runListenerForAgent(c, "unit-foo-1") ctx, err := testing.RunCommand(c, &RunCommand{}, "--force-remote-unit", "--remote-unit", "unit-name-2", "--relation", "db:1", "foo/1", "bar") c.Check(cmd.IsRcPassthroughError(err), jc.IsTrue) c.Assert(err, gc.ErrorMatches, "subprocess encountered error code 42") c.Assert(testing.Stdout(ctx), gc.Equals, "bar stdout") c.Assert(testing.Stderr(ctx), gc.Equals, "bar stderr") }
func (s *RunTestSuite) TestRunning(c *gc.C) { loggo.GetLogger("worker.uniter").SetLogLevel(loggo.TRACE) s.runListenerForAgent(c, "foo") ctx, err := testing.RunCommand(c, &RunCommand{}, "foo", "bar") c.Check(cmd.IsRcPassthroughError(err), jc.IsTrue) c.Assert(err, gc.ErrorMatches, "subprocess encountered error code 42") c.Assert(testing.Stdout(ctx), gc.Equals, "bar stdout") c.Assert(testing.Stderr(ctx), gc.Equals, "bar stderr") }