本文整理汇总了Golang中github.com/juju/juju/state/apiserver/testing.NotFoundError函数的典型用法代码示例。如果您正苦于以下问题:Golang NotFoundError函数的具体用法?Golang NotFoundError怎么用?Golang NotFoundError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NotFoundError函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestLifeAsEnvironManager
func (s *withoutStateServerSuite) TestLifeAsEnvironManager(c *gc.C) {
err := s.machines[1].EnsureDead()
c.Assert(err, gc.IsNil)
err = s.machines[1].Refresh()
c.Assert(err, gc.IsNil)
c.Assert(s.machines[0].Life(), gc.Equals, state.Alive)
c.Assert(s.machines[1].Life(), gc.Equals, state.Dead)
c.Assert(s.machines[2].Life(), gc.Equals, state.Alive)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: s.machines[1].Tag()},
{Tag: s.machines[2].Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.Life(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.LifeResults{
Results: []params.LifeResult{
{Life: "alive"},
{Life: "dead"},
{Life: "alive"},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
// Remove the subordinate and make sure it's detected.
err = s.machines[1].Remove()
c.Assert(err, gc.IsNil)
err = s.machines[1].Refresh()
c.Assert(err, jc.Satisfies, errors.IsNotFound)
result, err = s.provisioner.Life(params.Entities{
Entities: []params.Entity{
{Tag: s.machines[1].Tag()},
},
})
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.LifeResults{
Results: []params.LifeResult{
{Error: apiservertesting.NotFoundError("machine 1")},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:48,代码来源:provisioner_test.go
示例2: TestRemove
func (s *withoutStateServerSuite) TestRemove(c *gc.C) {
err := s.machines[1].EnsureDead()
c.Assert(err, gc.IsNil)
s.assertLife(c, 0, state.Alive)
s.assertLife(c, 1, state.Dead)
s.assertLife(c, 2, state.Alive)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: s.machines[1].Tag()},
{Tag: s.machines[2].Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.Remove(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{
{¶ms.Error{Message: `cannot remove entity "machine-0": still alive`}},
{nil},
{¶ms.Error{Message: `cannot remove entity "machine-2": still alive`}},
{apiservertesting.NotFoundError("machine 42")},
{apiservertesting.ErrUnauthorized},
{apiservertesting.ErrUnauthorized},
},
})
// Verify the changes.
s.assertLife(c, 0, state.Alive)
err = s.machines[1].Refresh()
c.Assert(err, jc.Satisfies, errors.IsNotFound)
s.assertLife(c, 2, state.Alive)
}
开发者ID:rogpeppe,项目名称:juju,代码行数:34,代码来源:provisioner_test.go
示例3: TestSeries
func (s *withoutStateServerSuite) TestSeries(c *gc.C) {
// Add a machine with different series.
foobarMachine, err := s.State.AddMachine("foobar", state.JobHostUnits)
c.Assert(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: foobarMachine.Tag()},
{Tag: s.machines[2].Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.Series(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.StringResults{
Results: []params.StringResult{
{Result: s.machines[0].Series()},
{Result: foobarMachine.Series()},
{Result: s.machines[2].Series()},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:26,代码来源:provisioner_test.go
示例4: TestInstanceId
func (s *withoutStateServerSuite) TestInstanceId(c *gc.C) {
// Provision 2 machines first.
err := s.machines[0].SetProvisioned("i-am", "fake_nonce", nil)
c.Assert(err, gc.IsNil)
hwChars := instance.MustParseHardware("arch=i386", "mem=4G")
err = s.machines[1].SetProvisioned("i-am-not", "fake_nonce", &hwChars)
c.Assert(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: s.machines[1].Tag()},
{Tag: s.machines[2].Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.InstanceId(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.StringResults{
Results: []params.StringResult{
{Result: "i-am"},
{Result: "i-am-not"},
{Error: apiservertesting.NotProvisionedError("2")},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:29,代码来源:provisioner_test.go
示例5: TestDistributionGroupMachineAgentAuth
func (s *withoutStateServerSuite) TestDistributionGroupMachineAgentAuth(c *gc.C) {
anAuthorizer := s.authorizer
anAuthorizer.Tag = "machine-1"
anAuthorizer.EnvironManager = false
anAuthorizer.MachineAgent = true
provisioner, err := provisioner.NewProvisionerAPI(s.State, s.resources, anAuthorizer)
c.Check(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: "machine-0"},
{Tag: "machine-1"},
{Tag: "machine-42"},
{Tag: "machine-0-lxc-99"},
{Tag: "machine-1-lxc-99"},
{Tag: "machine-1-lxc-99-lxc-100"},
}}
result, err := provisioner.DistributionGroup(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.DistributionGroupResults{
Results: []params.DistributionGroupResult{
{Error: apiservertesting.ErrUnauthorized},
{Result: []instance.Id{}},
{Error: apiservertesting.ErrUnauthorized},
// only a machine agent for the container or its
// parent may access it.
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.NotFoundError("machine 1/lxc/99")},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:30,代码来源:provisioner_test.go
示例6: TestProvisioningInfoPermissions
func (s *withoutStateServerSuite) TestProvisioningInfoPermissions(c *gc.C) {
// Login as a machine agent for machine 0.
anAuthorizer := s.authorizer
anAuthorizer.MachineAgent = true
anAuthorizer.EnvironManager = false
anAuthorizer.Tag = s.machines[0].Tag()
aProvisioner, err := provisioner.NewProvisionerAPI(s.State, s.resources, anAuthorizer)
c.Assert(err, gc.IsNil)
c.Assert(aProvisioner, gc.NotNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: s.machines[0].Tag() + "-lxc-0"},
{Tag: "machine-42"},
{Tag: s.machines[1].Tag()},
{Tag: "service-bar"},
}}
// Only machine 0 and containers therein can be accessed.
results, err := aProvisioner.ProvisioningInfo(args)
c.Assert(results, gc.DeepEquals, params.ProvisioningInfoResults{
Results: []params.ProvisioningInfoResult{
{Result: ¶ms.ProvisioningInfo{
Series: "quantal",
Networks: []string{},
}},
{Error: apiservertesting.NotFoundError("machine 0/lxc/0")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:33,代码来源:provisioner_test.go
示例7: TestConstraints
func (s *withoutStateServerSuite) TestConstraints(c *gc.C) {
// Add a machine with some constraints.
cons := constraints.MustParse("cpu-cores=123", "mem=8G", "networks=net3,^net4")
template := state.MachineTemplate{
Series: "quantal",
Jobs: []state.MachineJob{state.JobHostUnits},
Constraints: cons,
}
consMachine, err := s.State.AddOneMachine(template)
c.Assert(err, gc.IsNil)
machine0Constraints, err := s.machines[0].Constraints()
c.Assert(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: consMachine.Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.Constraints(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.ConstraintsResults{
Results: []params.ConstraintsResult{
{Constraints: machine0Constraints},
{Constraints: template.Constraints},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:33,代码来源:provisioner_test.go
示例8: TestTools
func (s *toolsSuite) TestTools(c *gc.C) {
getCanRead := func() (common.AuthFunc, error) {
return func(tag string) bool {
return tag == "machine-0" || tag == "machine-42"
}, nil
}
tg := common.NewToolsGetter(s.State, getCanRead)
c.Assert(tg, gc.NotNil)
err := s.machine0.SetAgentVersion(version.Current)
c.Assert(err, gc.IsNil)
args := params.Entities{
Entities: []params.Entity{
{Tag: "machine-0"},
{Tag: "machine-1"},
{Tag: "machine-42"},
}}
result, err := tg.Tools(args)
c.Assert(err, gc.IsNil)
c.Assert(result.Results, gc.HasLen, 3)
c.Assert(result.Results[0].Tools, gc.NotNil)
c.Assert(result.Results[0].Tools.Version, gc.DeepEquals, version.Current)
c.Assert(result.Results[0].DisableSSLHostnameVerification, jc.IsFalse)
c.Assert(result.Results[1].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
c.Assert(result.Results[2].Error, gc.DeepEquals, apiservertesting.NotFoundError("machine 42"))
}
开发者ID:jiasir,项目名称:juju,代码行数:27,代码来源:tools_test.go
示例9: TestStatus
func (s *withoutStateServerSuite) TestStatus(c *gc.C) {
err := s.machines[0].SetStatus(params.StatusStarted, "blah", nil)
c.Assert(err, gc.IsNil)
err = s.machines[1].SetStatus(params.StatusStopped, "foo", nil)
c.Assert(err, gc.IsNil)
err = s.machines[2].SetStatus(params.StatusError, "not really", params.StatusData{"foo": "bar"})
c.Assert(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: s.machines[1].Tag()},
{Tag: s.machines[2].Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.Status(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.StatusResults{
Results: []params.StatusResult{
{Status: params.StatusStarted, Info: "blah", Data: params.StatusData{}},
{Status: params.StatusStopped, Info: "foo", Data: params.StatusData{}},
{Status: params.StatusError, Info: "not really", Data: params.StatusData{"foo": "bar"}},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:29,代码来源:provisioner_test.go
示例10: TestEnsureDead
func (s *withoutStateServerSuite) TestEnsureDead(c *gc.C) {
err := s.machines[1].EnsureDead()
c.Assert(err, gc.IsNil)
s.assertLife(c, 0, state.Alive)
s.assertLife(c, 1, state.Dead)
s.assertLife(c, 2, state.Alive)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: s.machines[1].Tag()},
{Tag: s.machines[2].Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.EnsureDead(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{
{nil},
{nil},
{nil},
{apiservertesting.NotFoundError("machine 42")},
{apiservertesting.ErrUnauthorized},
{apiservertesting.ErrUnauthorized},
},
})
// Verify the changes.
s.assertLife(c, 0, state.Dead)
s.assertLife(c, 1, state.Dead)
s.assertLife(c, 2, state.Dead)
}
开发者ID:rogpeppe,项目名称:juju,代码行数:33,代码来源:provisioner_test.go
示例11: TestSetProvisioned
func (s *withoutStateServerSuite) TestSetProvisioned(c *gc.C) {
// Provision machine 0 first.
hwChars := instance.MustParseHardware("arch=i386", "mem=4G")
err := s.machines[0].SetProvisioned("i-am", "fake_nonce", &hwChars)
c.Assert(err, gc.IsNil)
args := params.SetProvisioned{Machines: []params.MachineSetProvisioned{
{Tag: s.machines[0].Tag(), InstanceId: "i-was", Nonce: "fake_nonce", Characteristics: nil},
{Tag: s.machines[1].Tag(), InstanceId: "i-will", Nonce: "fake_nonce", Characteristics: &hwChars},
{Tag: s.machines[2].Tag(), InstanceId: "i-am-too", Nonce: "fake", Characteristics: nil},
{Tag: "machine-42", InstanceId: "", Nonce: "", Characteristics: nil},
{Tag: "unit-foo-0", InstanceId: "", Nonce: "", Characteristics: nil},
{Tag: "service-bar", InstanceId: "", Nonce: "", Characteristics: nil},
}}
result, err := s.provisioner.SetProvisioned(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{
{¶ms.Error{
Message: `cannot set instance data for machine "0": already set`,
}},
{nil},
{nil},
{apiservertesting.NotFoundError("machine 42")},
{apiservertesting.ErrUnauthorized},
{apiservertesting.ErrUnauthorized},
},
})
// Verify machine 1 and 2 were provisioned.
c.Assert(s.machines[1].Refresh(), gc.IsNil)
c.Assert(s.machines[2].Refresh(), gc.IsNil)
instanceId, err := s.machines[1].InstanceId()
c.Assert(err, gc.IsNil)
c.Check(instanceId, gc.Equals, instance.Id("i-will"))
instanceId, err = s.machines[2].InstanceId()
c.Assert(err, gc.IsNil)
c.Check(instanceId, gc.Equals, instance.Id("i-am-too"))
c.Check(s.machines[1].CheckProvisioned("fake_nonce"), jc.IsTrue)
c.Check(s.machines[2].CheckProvisioned("fake"), jc.IsTrue)
gotHardware, err := s.machines[1].HardwareCharacteristics()
c.Assert(err, gc.IsNil)
c.Check(gotHardware, gc.DeepEquals, &hwChars)
}
开发者ID:rogpeppe,项目名称:juju,代码行数:45,代码来源:provisioner_test.go
示例12: TestSetTools
func (s *toolsSuite) TestSetTools(c *gc.C) {
getCanWrite := func() (common.AuthFunc, error) {
return func(tag string) bool {
return tag == "machine-0" || tag == "machine-42"
}, nil
}
ts := common.NewToolsSetter(s.State, getCanWrite)
c.Assert(ts, gc.NotNil)
err := s.machine0.SetAgentVersion(version.Current)
c.Assert(err, gc.IsNil)
args := params.EntitiesVersion{
AgentTools: []params.EntityVersion{{
Tag: "machine-0",
Tools: ¶ms.Version{
Version: version.Current,
},
}, {
Tag: "machine-1",
Tools: ¶ms.Version{
Version: version.Current,
},
}, {
Tag: "machine-42",
Tools: ¶ms.Version{
Version: version.Current,
},
}},
}
result, err := ts.SetTools(args)
c.Assert(err, gc.IsNil)
c.Assert(result.Results, gc.HasLen, 3)
c.Assert(result.Results[0].Error, gc.IsNil)
agentTools, err := s.machine0.AgentTools()
c.Assert(err, gc.IsNil)
c.Assert(agentTools.Version, gc.DeepEquals, version.Current)
c.Assert(result.Results[1].Error, gc.DeepEquals, apiservertesting.ErrUnauthorized)
c.Assert(result.Results[2].Error, gc.DeepEquals, apiservertesting.NotFoundError("machine 42"))
}
开发者ID:jiasir,项目名称:juju,代码行数:40,代码来源:tools_test.go
示例13: TestProvisioningInfo
func (s *withoutStateServerSuite) TestProvisioningInfo(c *gc.C) {
cons := constraints.MustParse("cpu-cores=123 mem=8G networks=^net3,^net4")
template := state.MachineTemplate{
Series: "quantal",
Jobs: []state.MachineJob{state.JobHostUnits},
Constraints: cons,
Placement: "valid",
RequestedNetworks: []string{"net1", "net2"},
}
placementMachine, err := s.State.AddOneMachine(template)
c.Assert(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: placementMachine.Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.ProvisioningInfo(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.ProvisioningInfoResults{
Results: []params.ProvisioningInfoResult{
{Result: ¶ms.ProvisioningInfo{
Series: "quantal",
Networks: []string{},
}},
{Result: ¶ms.ProvisioningInfo{
Series: "quantal",
Constraints: template.Constraints,
Placement: template.Placement,
Networks: template.RequestedNetworks,
}},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:39,代码来源:provisioner_test.go
示例14: TestSetPasswords
func (s *withoutStateServerSuite) TestSetPasswords(c *gc.C) {
args := params.EntityPasswords{
Changes: []params.EntityPassword{
{Tag: s.machines[0].Tag(), Password: "xxx0-1234567890123457890"},
{Tag: s.machines[1].Tag(), Password: "xxx1-1234567890123457890"},
{Tag: s.machines[2].Tag(), Password: "xxx2-1234567890123457890"},
{Tag: s.machines[3].Tag(), Password: "xxx3-1234567890123457890"},
{Tag: s.machines[4].Tag(), Password: "xxx4-1234567890123457890"},
{Tag: "machine-42", Password: "foo"},
{Tag: "unit-foo-0", Password: "zzz"},
{Tag: "service-bar", Password: "abc"},
},
}
results, err := s.provisioner.SetPasswords(args)
c.Assert(err, gc.IsNil)
c.Assert(results, gc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{
{nil},
{nil},
{nil},
{nil},
{nil},
{apiservertesting.NotFoundError("machine 42")},
{apiservertesting.ErrUnauthorized},
{apiservertesting.ErrUnauthorized},
},
})
// Verify the changes to both machines succeeded.
for i, machine := range s.machines {
c.Logf("trying %q password", machine.Tag())
err = machine.Refresh()
c.Assert(err, gc.IsNil)
changed := machine.PasswordValid(fmt.Sprintf("xxx%d-1234567890123457890", i))
c.Assert(changed, jc.IsTrue)
}
}
开发者ID:rogpeppe,项目名称:juju,代码行数:37,代码来源:provisioner_test.go
示例15: TestRequestedNetworks
func (s *withoutStateServerSuite) TestRequestedNetworks(c *gc.C) {
// Add a machine with some requested networks.
template := state.MachineTemplate{
Series: "quantal",
Jobs: []state.MachineJob{state.JobHostUnits},
RequestedNetworks: []string{"net1", "net2"},
}
netsMachine, err := s.State.AddOneMachine(template)
c.Assert(err, gc.IsNil)
networksMachine0, err := s.machines[0].RequestedNetworks()
c.Assert(err, gc.IsNil)
args := params.Entities{Entities: []params.Entity{
{Tag: s.machines[0].Tag()},
{Tag: netsMachine.Tag()},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.RequestedNetworks(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.RequestedNetworksResults{
Results: []params.RequestedNetworkResult{
{
Networks: networksMachine0,
},
{
Networks: template.RequestedNetworks,
},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:36,代码来源:provisioner_test.go
示例16: TestWatchInterfacesPermissions
func (s *networkerSuite) TestWatchInterfacesPermissions(c *gc.C) {
args := params.Entities{Entities: []params.Entity{
{Tag: "service-bar"},
{Tag: "foo-42"},
{Tag: "unit-mysql-0"},
{Tag: "service-mysql"},
{Tag: "user-foo"},
{Tag: "machine-1"},
{Tag: "machine-0-lxc-42"},
}}
results, err := s.networker.WatchInterfaces(args)
c.Assert(err, gc.IsNil)
c.Assert(results, gc.DeepEquals, params.NotifyWatchResults{
Results: []params.NotifyWatchResult{
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.NotFoundError("machine 0/lxc/42")},
},
})
}
开发者ID:klyachin,项目名称:juju,代码行数:24,代码来源:networker_test.go
示例17: TestDistributionGroupEnvironManagerAuth
func (s *withoutStateServerSuite) TestDistributionGroupEnvironManagerAuth(c *gc.C) {
args := params.Entities{Entities: []params.Entity{
{Tag: "machine-0"},
{Tag: "machine-42"},
{Tag: "machine-0-lxc-99"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.DistributionGroup(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.DistributionGroupResults{
Results: []params.DistributionGroupResult{
// environ manager may access any top-level machines.
{Result: []instance.Id{}},
{Error: apiservertesting.NotFoundError("machine 42")},
// only a machine agent for the container or its
// parent may access it.
{Error: apiservertesting.ErrUnauthorized},
// non-machines always unauthorized
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:24,代码来源:provisioner_test.go
示例18: TestWatchAllContainers
func (s *withoutStateServerSuite) TestWatchAllContainers(c *gc.C) {
c.Assert(s.resources.Count(), gc.Equals, 0)
args := params.WatchContainers{Params: []params.WatchContainer{
{MachineTag: s.machines[0].Tag()},
{MachineTag: s.machines[1].Tag()},
{MachineTag: "machine-42"},
{MachineTag: "unit-foo-0"},
{MachineTag: "service-bar"},
}}
result, err := s.provisioner.WatchAllContainers(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.StringsWatchResults{
Results: []params.StringsWatchResult{
{StringsWatcherId: "1", Changes: []string{}},
{StringsWatcherId: "2", Changes: []string{}},
{Error: apiservertesting.NotFoundError("machine 42")},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
// Verify the resources were registered and stop them when done.
c.Assert(s.resources.Count(), gc.Equals, 2)
m0Watcher := s.resources.Get("1")
defer statetesting.AssertStop(c, m0Watcher)
m1Watcher := s.resources.Get("2")
defer statetesting.AssertStop(c, m1Watcher)
// Check that the Watch has consumed the initial event ("returned"
// in the Watch call)
wc0 := statetesting.NewStringsWatcherC(c, s.State, m0Watcher.(state.StringsWatcher))
wc0.AssertNoChange()
wc1 := statetesting.NewStringsWatcherC(c, s.State, m1Watcher.(state.StringsWatcher))
wc1.AssertNoChange()
}
开发者ID:rogpeppe,项目名称:juju,代码行数:36,代码来源:provisioner_test.go
示例19: TestSetStatus
func (s *withoutStateServerSuite) TestSetStatus(c *gc.C) {
err := s.machines[0].SetStatus(params.StatusStarted, "blah", nil)
c.Assert(err, gc.IsNil)
err = s.machines[1].SetStatus(params.StatusStopped, "foo", nil)
c.Assert(err, gc.IsNil)
err = s.machines[2].SetStatus(params.StatusError, "not really", nil)
c.Assert(err, gc.IsNil)
args := params.SetStatus{
Entities: []params.EntityStatus{
{Tag: s.machines[0].Tag(), Status: params.StatusError, Info: "not really",
Data: params.StatusData{"foo": "bar"}},
{Tag: s.machines[1].Tag(), Status: params.StatusStopped, Info: "foobar"},
{Tag: s.machines[2].Tag(), Status: params.StatusStarted, Info: "again"},
{Tag: "machine-42", Status: params.StatusStarted, Info: "blah"},
{Tag: "unit-foo-0", Status: params.StatusStopped, Info: "foobar"},
{Tag: "service-bar", Status: params.StatusStopped, Info: "foobar"},
}}
result, err := s.provisioner.SetStatus(args)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{
{nil},
{nil},
{nil},
{apiservertesting.NotFoundError("machine 42")},
{apiservertesting.ErrUnauthorized},
{apiservertesting.ErrUnauthorized},
},
})
// Verify the changes.
s.assertStatus(c, 0, params.StatusError, "not really", params.StatusData{"foo": "bar"})
s.assertStatus(c, 1, params.StatusStopped, "foobar", params.StatusData{})
s.assertStatus(c, 2, params.StatusStarted, "again", params.StatusData{})
}
开发者ID:rogpeppe,项目名称:juju,代码行数:36,代码来源:provisioner_test.go
示例20: TestSetInstanceInfo
func (s *withoutStateServerSuite) TestSetInstanceInfo(c *gc.C) {
// Provision machine 0 first.
hwChars := instance.MustParseHardware("arch=i386", "mem=4G")
err := s.machines[0].SetInstanceInfo("i-am", "fake_nonce", &hwChars, nil, nil)
c.Assert(err, gc.IsNil)
networks := []params.Network{{
Tag: "network-net1",
ProviderId: "net1",
CIDR: "0.1.2.0/24",
VLANTag: 0,
}, {
Tag: "network-vlan42",
ProviderId: "vlan42",
CIDR: "0.2.2.0/24",
VLANTag: 42,
}, {
Tag: "network-vlan69",
ProviderId: "vlan69",
CIDR: "0.3.2.0/24",
VLANTag: 69,
}, {
Tag: "network-vlan42", // duplicated; ignored
ProviderId: "vlan42",
CIDR: "0.2.2.0/24",
VLANTag: 42,
}}
ifaces := []params.NetworkInterface{{
MACAddress: "aa:bb:cc:dd:ee:f0",
NetworkTag: "network-net1",
InterfaceName: "eth0",
IsVirtual: false,
}, {
MACAddress: "aa:bb:cc:dd:ee:f1",
NetworkTag: "network-net1",
InterfaceName: "eth1",
IsVirtual: false,
}, {
MACAddress: "aa:bb:cc:dd:ee:f1",
NetworkTag: "network-vlan42",
InterfaceName: "eth1.42",
IsVirtual: true,
}, {
MACAddress: "aa:bb:cc:dd:ee:f0",
NetworkTag: "network-vlan69",
InterfaceName: "eth0.69",
IsVirtual: true,
}, {
MACAddress: "aa:bb:cc:dd:ee:f1", // duplicated mac+net; ignored
NetworkTag: "network-vlan42",
InterfaceName: "eth2",
IsVirtual: true,
}, {
MACAddress: "aa:bb:cc:dd:ee:f2",
NetworkTag: "network-net1",
InterfaceName: "eth1", // duplicated name+machine id; ignored for machine 1.
IsVirtual: false,
}}
args := params.InstancesInfo{Machines: []params.InstanceInfo{{
Tag: s.machines[0].Tag(),
InstanceId: "i-was",
Nonce: "fake_nonce",
}, {
Tag: s.machines[1].Tag(),
InstanceId: "i-will",
Nonce: "fake_nonce",
Characteristics: &hwChars,
Networks: networks,
Interfaces: ifaces,
}, {
Tag: s.machines[2].Tag(),
InstanceId: "i-am-too",
Nonce: "fake",
Characteristics: nil,
Networks: networks,
Interfaces: ifaces,
},
{Tag: "machine-42"},
{Tag: "unit-foo-0"},
{Tag: "service-bar"},
}}
result, err := s.provisioner.SetInstanceInfo(args)
c.Assert(err, gc.IsNil)
c.Assert(result, jc.DeepEquals, params.ErrorResults{
Results: []params.ErrorResult{
{¶ms.Error{
Message: `aborted instance "i-was": cannot set instance data for machine "0": already set`,
}},
{nil},
{nil},
{apiservertesting.NotFoundError("machine 42")},
{apiservertesting.ErrUnauthorized},
{apiservertesting.ErrUnauthorized},
},
})
// Verify machine 1 and 2 were provisioned.
c.Assert(s.machines[1].Refresh(), gc.IsNil)
c.Assert(s.machines[2].Refresh(), gc.IsNil)
//.........这里部分代码省略.........
开发者ID:rogpeppe,项目名称:juju,代码行数:101,代码来源:provisioner_test.go
注:本文中的github.com/juju/juju/state/apiserver/testing.NotFoundError函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论