本文整理汇总了Golang中github.com/juju/cmd/cmdtesting.Stdout函数的典型用法代码示例。如果您正苦于以下问题:Golang Stdout函数的具体用法?Golang Stdout怎么用?Golang Stdout使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Stdout函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestUnits
func (s *cmdMetricsCommandSuite) TestUnits(c *gc.C) {
meteredCharm := s.Factory.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "local:quantal/metered"})
meteredService := s.Factory.MakeApplication(c, &factory.ApplicationParams{Charm: meteredCharm})
unit := s.Factory.MakeUnit(c, &factory.UnitParams{Application: meteredService, SetCharmURL: true})
unit2 := s.Factory.MakeUnit(c, &factory.UnitParams{Application: meteredService, SetCharmURL: true})
newTime1 := time.Now().Round(time.Second)
newTime2 := newTime1.Add(time.Second)
metricA := state.Metric{"pings", "5", newTime1}
metricB := state.Metric{"pings", "10.5", newTime2}
s.Factory.MakeMetric(c, &factory.MetricParams{Unit: unit, Metrics: []state.Metric{metricA}})
s.Factory.MakeMetric(c, &factory.MetricParams{Unit: unit2, Metrics: []state.Metric{metricA, metricB}})
ctx, err := coretesting.RunCommand(c, metricsdebug.New(), "metered/1")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals,
formatTabular(metric{
Unit: unit2.Name(),
Timestamp: newTime2,
Metric: "pings",
Value: "10.5",
}),
)
ctx, err = coretesting.RunCommand(c, metricsdebug.New(), "metered/0")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals,
formatTabular(metric{
Unit: unit.Name(),
Timestamp: newTime1,
Metric: "pings",
Value: "5",
}),
)
}
示例2: TestGetUsersAgreementsWithTermOwner
func (s *listAgreementsSuite) TestGetUsersAgreementsWithTermOwner(c *gc.C) {
ctx, err := cmdtesting.RunCommand(c, listagreements.NewListAgreementsCommand())
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals, `[]
`)
c.Assert(s.client.called, jc.IsTrue)
s.client.setError("well, this is embarassing")
ctx, err = cmdtesting.RunCommand(c, listagreements.NewListAgreementsCommand())
c.Assert(err, gc.ErrorMatches, "failed to list user agreements: well, this is embarassing")
c.Assert(s.client.called, jc.IsTrue)
agreements := []terms.AgreementResponse{{
User: "test-user",
Owner: "owner",
Term: "test-term",
Revision: 1,
CreatedOn: time.Date(2015, 12, 25, 0, 0, 0, 0, time.UTC),
}}
s.client.setAgreements(agreements)
ctx, err = cmdtesting.RunCommand(c, listagreements.NewListAgreementsCommand())
c.Assert(err, jc.ErrorIsNil)
c.Assert(ctx, gc.NotNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals, expectedListAgreementsJSONOutputWithOwner)
c.Assert(s.client.called, jc.IsTrue)
ctx, err = cmdtesting.RunCommand(c, listagreements.NewListAgreementsCommand(), "--format", "yaml")
c.Assert(err, jc.ErrorIsNil)
c.Assert(ctx, gc.NotNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals, "- user: test-user\n owner: owner\n term: test-term\n revision: 1\n createdon: 2015-12-25T00:00:00Z\n")
c.Assert(s.client.called, jc.IsTrue)
}
示例3: TestYAMLFormat
func (s *metricsSuite) TestYAMLFormat(c *gc.C) {
s.client.metrics = []params.MetricResult{{
Unit: "unit-metered-0",
Key: "pings",
Value: "5.0",
Time: time.Date(2016, 8, 22, 12, 02, 03, 0, time.UTC),
}, {
Unit: "unit-metered-0",
Key: "pongs",
Value: "15.0",
Time: time.Date(2016, 8, 22, 12, 02, 04, 0, time.UTC),
}}
ctx, err := coretesting.RunCommand(c, metricsdebug.New(), "metered", "--format", "yaml")
c.Assert(err, jc.ErrorIsNil)
s.client.CheckCall(c, 0, "GetMetrics", []string{"application-metered"})
c.Assert(cmdtesting.Stdout(ctx), gc.Equals, `- unit: unit-metered-0
timestamp: 2016-08-22T12:02:03Z
metric: pings
value: "5.0"
- unit: unit-metered-0
timestamp: 2016-08-22T12:02:04Z
metric: pongs
value: "15.0"
`)
}
示例4: TestAllocate
func (s *allocateSuite) TestAllocate(c *gc.C) {
s.mockAPI.resp = "allocation updated"
ctx, err := s.run(c, "name:100", "db")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, "allocation updated\n")
s.mockAPI.CheckCall(c, 0, "CreateAllocation", "name", "100", "model-uuid", []string{"db"})
}
示例5: TestRegisterSuperAliasHelp
func (s *HelpCommandSuite) TestRegisterSuperAliasHelp(c *gc.C) {
jc := cmd.NewSuperCommand(cmd.SuperCommandParams{
Name: "jujutest",
})
sub := cmd.NewSuperCommand(cmd.SuperCommandParams{
Name: "bar",
UsagePrefix: "jujutest",
Purpose: "bar functions",
})
jc.Register(sub)
sub.Register(&simple{name: "foo"})
jc.RegisterSuperAlias("bar-foo", "bar", "foo", nil)
for _, test := range []struct {
args []string
}{
{
args: []string{"bar", "foo", "--help"},
}, {
args: []string{"bar", "help", "foo"},
}, {
args: []string{"help", "bar-foo"},
}, {
args: []string{"bar-foo", "--help"},
},
} {
c.Logf("args: %v", test.args)
ctx := cmdtesting.Context(c)
code := cmd.Main(jc, ctx, test.args)
c.Check(code, gc.Equals, 0)
help := "Usage: jujutest bar foo\n\nSummary:\nto be simple\n"
c.Check(cmdtesting.Stdout(ctx), gc.Equals, help)
}
}
示例6: TestUpdateAllocation
func (s *updateAllocationSuite) TestUpdateAllocation(c *gc.C) {
s.mockAPI.resp = "name budget set to 5"
ctx, err := s.run(c, "name", "5")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, "name budget set to 5\n")
s.mockAPI.CheckCall(c, 0, "UpdateAllocation", "model-uuid", "name", "5")
}
示例7: TestListBudgetsOutputNoBudgets
func (s *listBudgetsSuite) TestListBudgetsOutputNoBudgets(c *gc.C) {
s.mockAPI.result = &budget.ListBudgetsResponse{
Budgets: budget.BudgetSummaries{},
Total: budget.BudgetTotals{
Limit: "0",
Allocated: "0",
Available: "0",
Unallocated: "0",
Consumed: "0",
},
Credit: "0",
}
expected := "" +
"BUDGET \tMONTHLY\tALLOCATED\tAVAILABLE\tSPENT\n" +
"TOTAL \t 0\t 0\t 0\t 0\n" +
" \t \t \t \t \n" +
"Credit limit:\t 0\t \t \t \n"
listBudgets := listbudgets.NewListBudgetsCommand()
ctx, err := cmdtesting.RunCommand(c, listBudgets)
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, expected)
s.mockAPI.CheckCallNames(c, "ListBudgets")
}
示例8: TestUnitJsonOutput
func (s *DebugMetricsCommandSuite) TestUnitJsonOutput(c *gc.C) {
meteredCharm := s.Factory.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "local:quantal/metered"})
meteredService := s.Factory.MakeService(c, &factory.ServiceParams{Charm: meteredCharm})
unit := s.Factory.MakeUnit(c, &factory.UnitParams{Service: meteredService, SetCharmURL: true})
newTime := time.Now().Round(time.Second)
metricA := state.Metric{"pings", "5", newTime}
metricB := state.Metric{"pings", "10.5", newTime}
s.Factory.MakeMetric(c, &factory.MetricParams{Unit: unit, Metrics: []state.Metric{metricA}})
s.Factory.MakeMetric(c, &factory.MetricParams{Unit: unit, Metrics: []state.Metric{metricA, metricB}})
outputTime := newTime.Format(time.RFC3339)
expectedOutput := fmt.Sprintf(`[
{
"time": "%v",
"key": "pings",
"value": "5"
},
{
"time": "%v",
"key": "pings",
"value": "5"
},
{
"time": "%v",
"key": "pings",
"value": "10.5"
}
]`, outputTime, outputTime, outputTime)
ctx, err := coretesting.RunCommand(c, metricsdebug.New(), "metered/0", "--json")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals, expectedOutput)
}
示例9: TestNoMetrics
func (s *DebugMetricsCommandSuite) TestNoMetrics(c *gc.C) {
meteredCharm := s.Factory.MakeCharm(c, &factory.CharmParams{Name: "metered", URL: "local:quantal/metered"})
meteredService := s.Factory.MakeService(c, &factory.ServiceParams{Charm: meteredCharm})
s.Factory.MakeUnit(c, &factory.UnitParams{Service: meteredService, SetCharmURL: true})
ctx, err := coretesting.RunCommand(c, metricsdebug.New(), "metered", "-n", "2")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), gc.Equals, "")
}
示例10: TestAllocate
func (s *allocateSuite) TestAllocate(c *gc.C) {
s.mockAPI.resp = "allocation updated"
alloc := allocate.NewAllocateCommand()
ctx, err := cmdtesting.RunCommand(c, alloc, "name:100", "db")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, "allocation updated")
s.mockAPI.CheckCall(c, 0, "CreateAllocation", "name", "100", "env-uuid", []string{"db"})
}
示例11: TestListBudgetsNoOutput
func (s *listBudgetsSuite) TestListBudgetsNoOutput(c *gc.C) {
listBudgets := listbudgets.NewListBudgetsCommand()
ctx, err := cmdtesting.RunCommand(c, listBudgets)
c.Assert(err, gc.ErrorMatches, `no budget information available`)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, ``)
s.mockAPI.CheckCallNames(c, "ListBudgets")
}
示例12: TestUpdateAllocation
func (s *updateAllocationSuite) TestUpdateAllocation(c *gc.C) {
s.mockAPI.resp = "name budget set to 5"
set := updateallocation.NewUpdateAllocationCommand()
ctx, err := cmdtesting.RunCommand(c, set, "name", "5")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, "name budget set to 5")
s.mockAPI.CheckCall(c, 0, "UpdateAllocation", "env-uuid", "name", "5")
}
示例13: TestSetBudget
func (s *setBudgetSuite) TestSetBudget(c *gc.C) {
s.mockAPI.resp = "name budget set to 5"
set := setbudget.NewSetBudgetCommand()
ctx, err := cmdtesting.RunCommand(c, set, "name", "5")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, "name budget set to 5\n")
s.mockAPI.CheckCall(c, 0, "SetBudget", "name", "5")
}
示例14: TestCreateBudget
func (s *createBudgetSuite) TestCreateBudget(c *gc.C) {
s.mockAPI.resp = "name budget set to 5"
createCmd := createbudget.NewCreateBudgetCommand()
ctx, err := cmdtesting.RunCommand(c, createCmd, "name", "5")
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, "name budget set to 5")
s.mockAPI.CheckCall(c, 0, "CreateBudget", "name", "5")
}
示例15: TestListBudgetsOutput
func (s *listBudgetsSuite) TestListBudgetsOutput(c *gc.C) {
s.mockAPI.result = &budget.ListBudgetsResponse{
Budgets: budget.BudgetSummaries{
budget.BudgetSummary{
Owner: "bob",
Budget: "personal",
Limit: "50",
Allocated: "30",
Unallocated: "20",
Available: "45",
Consumed: "5",
},
budget.BudgetSummary{
Owner: "bob",
Budget: "work",
Limit: "200",
Allocated: "100",
Unallocated: "100",
Available: "150",
Consumed: "50",
},
budget.BudgetSummary{
Owner: "bob",
Budget: "team",
Limit: "50",
Allocated: "10",
Unallocated: "40",
Available: "40",
Consumed: "10",
},
},
Total: budget.BudgetTotals{
Limit: "300",
Allocated: "140",
Available: "235",
Unallocated: "160",
Consumed: "65",
},
Credit: "400",
}
// Expected command output. Make sure budgets are sorted alphabetically.
expected := "" +
"BUDGET \tMONTHLY\tALLOCATED\tAVAILABLE\tSPENT\n" +
"personal \t 50\t 30\t 45\t 5\n" +
"team \t 50\t 10\t 40\t 10\n" +
"work \t 200\t 100\t 150\t 50\n" +
"TOTAL \t 300\t 140\t 235\t 65\n" +
" \t \t \t \t \n" +
"Credit limit:\t 400\t \t \t \n"
listBudgets := listbudgets.NewListBudgetsCommand()
ctx, err := cmdtesting.RunCommand(c, listBudgets)
c.Assert(err, jc.ErrorIsNil)
c.Assert(cmdtesting.Stdout(ctx), jc.DeepEquals, expected)
s.mockAPI.CheckCallNames(c, "ListBudgets")
}