本文整理汇总了Golang中github.com/juju/juju/state/apiserver/testing.NotFoundError函数的典型用法代码示例。如果您正苦于以下问题:Golang NotFoundError函数的具体用法?Golang NotFoundError怎么用?Golang NotFoundError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NotFoundError函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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")},
},
})
}
示例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)
}
示例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},
},
})
}
示例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},
},
})
}
示例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},
},
})
}
示例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},
},
})
}
示例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},
},
})
}
示例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"))
}
示例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},
},
})
}
示例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)
}
示例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)
}
示例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"))
}
示例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},
},
})
}
示例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)
}
}
示例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},
},
})
}