本文整理匯總了Golang中github.com/juju/juju/state/apiserver/common.NewResources函數的典型用法代碼示例。如果您正苦於以下問題:Golang NewResources函數的具體用法?Golang NewResources怎麽用?Golang NewResources使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了NewResources函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: SetUpTest
func (s *unitUpgraderSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
s.resources = common.NewResources()
s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() })
// Create a machine and unit to work with
var err error
_, err = s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, gc.IsNil)
svc := s.AddTestingService(c, "wordpress", s.AddTestingCharm(c, "wordpress"))
s.rawUnit, err = svc.AddUnit()
c.Assert(err, gc.IsNil)
// Assign the unit to the machine.
s.rawMachine, err = s.rawUnit.AssignToCleanMachine()
c.Assert(err, gc.IsNil)
// The default auth is as the unit agent
s.authorizer = apiservertesting.FakeAuthorizer{
Tag: s.rawUnit.Tag(),
LoggedIn: true,
UnitAgent: true,
}
s.upgrader, err = upgrader.NewUnitUpgraderAPI(s.State, s.resources, s.authorizer)
c.Assert(err, gc.IsNil)
}
示例2: SetUpTest
func (s *environmentSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
var err error
s.machine0, err = s.State.AddMachine("quantal", state.JobHostUnits, state.JobManageEnviron)
c.Assert(err, gc.IsNil)
s.authorizer = apiservertesting.FakeAuthorizer{
Tag: s.machine0.Tag(),
LoggedIn: true,
MachineAgent: true,
Entity: s.machine0,
}
s.resources = common.NewResources()
s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() })
s.api, err = environment.NewEnvironmentAPI(
s.State,
s.resources,
s.authorizer,
)
c.Assert(err, gc.IsNil)
s.EnvironWatcherTest = commontesting.NewEnvironWatcherTest(
s.api, s.State, s.resources, commontesting.NoSecrets)
}
示例3: SetUpTest
func (s *networkerSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
s.setUpNetworks(c)
s.setUpMachine(c)
s.setUpContainers(c)
// Create a FakeAuthorizer so we can check permissions,
// set up assuming we logged in as a machine agent.
s.authorizer = apiservertesting.FakeAuthorizer{
LoggedIn: true,
MachineAgent: true,
Tag: s.machine.Tag(),
}
// Create the resource registry separately to track invocations to
// Register.
s.resources = common.NewResources()
// Create a networker API for the machine.
var err error
s.networker, err = networker.NewNetworkerAPI(
s.State,
s.resources,
s.authorizer,
)
c.Assert(err, gc.IsNil)
}
示例4: SetUpTest
func (s *deployerSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
// The two known machines now contain the following units:
// machine 0 (not authorized): mysql/1 (principal1)
// machine 1 (authorized): mysql/0 (principal0), logging/0 (subordinate0)
var err error
s.machine0, err = s.State.AddMachine("quantal", state.JobManageEnviron, state.JobHostUnits)
c.Assert(err, gc.IsNil)
s.machine1, err = s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, gc.IsNil)
s.service0 = s.AddTestingService(c, "mysql", s.AddTestingCharm(c, "mysql"))
s.service1 = s.AddTestingService(c, "logging", s.AddTestingCharm(c, "logging"))
eps, err := s.State.InferEndpoints([]string{"mysql", "logging"})
c.Assert(err, gc.IsNil)
rel, err := s.State.AddRelation(eps...)
c.Assert(err, gc.IsNil)
s.principal0, err = s.service0.AddUnit()
c.Assert(err, gc.IsNil)
err = s.principal0.AssignToMachine(s.machine1)
c.Assert(err, gc.IsNil)
s.principal1, err = s.service0.AddUnit()
c.Assert(err, gc.IsNil)
err = s.principal1.AssignToMachine(s.machine0)
c.Assert(err, gc.IsNil)
relUnit0, err := rel.Unit(s.principal0)
c.Assert(err, gc.IsNil)
err = relUnit0.EnterScope(nil)
c.Assert(err, gc.IsNil)
s.subordinate0, err = s.service1.Unit("logging/0")
c.Assert(err, gc.IsNil)
// Create a FakeAuthorizer so we can check permissions,
// set up assuming machine 1 has logged in.
s.authorizer = apiservertesting.FakeAuthorizer{
Tag: names.NewMachineTag(s.machine1.Id()).String(),
LoggedIn: true,
MachineAgent: true,
}
// Create the resource registry separately to track invocations to
// Register.
s.resources = common.NewResources()
// Create a deployer API for machine 1.
deployer, err := deployer.NewDeployerAPI(
s.State,
s.resources,
s.authorizer,
)
c.Assert(err, gc.IsNil)
s.deployer = deployer
}
示例5: SetUpTest
func (s *agentSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
var err error
s.machine0, err = s.State.AddMachine("quantal", state.JobManageEnviron)
c.Assert(err, gc.IsNil)
s.machine1, err = s.State.AddMachine("quantal", state.JobHostUnits)
c.Assert(err, gc.IsNil)
template := state.MachineTemplate{
Series: "quantal",
Jobs: []state.MachineJob{state.JobHostUnits},
}
s.container, err = s.State.AddMachineInsideMachine(template, s.machine1.Id(), instance.LXC)
c.Assert(err, gc.IsNil)
s.resources = common.NewResources()
s.AddCleanup(func(*gc.C) { s.resources.StopAll() })
// Create a FakeAuthorizer so we can check permissions,
// set up assuming machine 1 has logged in.
s.authorizer = apiservertesting.FakeAuthorizer{
Tag: s.machine1.Tag(),
LoggedIn: true,
MachineAgent: true,
}
// Create a machiner API for machine 1.
s.agent, err = agent.NewAPI(s.State, s.resources, s.authorizer)
c.Assert(err, gc.IsNil)
}
示例6: TestWatch
func (*agentEntityWatcherSuite) TestWatch(c *gc.C) {
st := &fakeState{
entities: map[string]entityWithError{
"x0": &fakeAgentEntityWatcher{fetchError: "x0 fails"},
"x1": &fakeAgentEntityWatcher{},
"x2": &fakeAgentEntityWatcher{},
},
}
getCanWatch := func() (common.AuthFunc, error) {
return func(tag string) bool {
switch tag {
case "x0", "x1":
return true
}
return false
}, nil
}
resources := common.NewResources()
a := common.NewAgentEntityWatcher(st, resources, getCanWatch)
entities := params.Entities{[]params.Entity{
{"x0"}, {"x1"}, {"x2"}, {"x3"},
}}
result, err := a.Watch(entities)
c.Assert(err, gc.IsNil)
c.Assert(result, gc.DeepEquals, params.NotifyWatchResults{
Results: []params.NotifyWatchResult{
{Error: ¶ms.Error{Message: "x0 fails"}},
{"1", nil},
{Error: apiservertesting.ErrUnauthorized},
{Error: apiservertesting.ErrUnauthorized},
},
})
}
示例7: TestStringResource
func (resourceSuite) TestStringResource(c *gc.C) {
rs := common.NewResources()
r1 := common.StringResource("foobar")
id := rs.Register(r1)
c.Check(rs.Get(id), gc.Equals, r1)
asStr := rs.Get(id).(common.StringResource).String()
c.Check(asStr, gc.Equals, "foobar")
}
示例8: TestRegisterNamedIntegerStart
func (resourceSuite) TestRegisterNamedIntegerStart(c *gc.C) {
rs := common.NewResources()
defer rs.StopAll()
r1 := &fakeResource{}
err := rs.RegisterNamed("1fake", r1)
c.Assert(err, gc.IsNil)
c.Check(rs.Count(), gc.Equals, 1)
c.Check(rs.Get("1fake"), gc.Equals, r1)
}
示例9: TestingSrvRoot
// TestingSrvRoot gives you an srvRoot that is *barely* connected to anything.
// Just enough to let you probe some of the interfaces of srvRoot, but not
// enough to actually do any RPC calls
func TestingSrvRoot(st *state.State) *srvRoot {
return &srvRoot{
state: st,
rpcConn: nil,
resources: common.NewResources(),
entity: nil,
objectCache: make(map[objectKey]reflect.Value),
}
}
示例10: TestRegisterNamedIntegerName
func (resourceSuite) TestRegisterNamedIntegerName(c *gc.C) {
rs := common.NewResources()
defer rs.StopAll()
r1 := &fakeResource{}
err := rs.RegisterNamed("1", r1)
c.Check(err, gc.ErrorMatches, `RegisterNamed does not allow integer names: "1"`)
c.Check(rs.Count(), gc.Equals, 0)
c.Check(rs.Get("fake1"), gc.IsNil)
}
示例11: newSrvRoot
// newSrvRoot creates the client's connection representation
// and starts a ping timeout for the monitoring of this
// connection.
func newSrvRoot(root *initialRoot, entity taggedAuthenticator) *srvRoot {
r := &srvRoot{
srv: root.srv,
rpcConn: root.rpcConn,
resources: common.NewResources(),
entity: entity,
}
r.resources.RegisterNamed("dataDir", common.StringResource(r.srv.dataDir))
r.clientAPI.API = client.NewAPI(r.srv.state, r.resources, r)
return r
}
示例12: newSrvRoot
// newSrvRoot creates the client's connection representation
// and starts a ping timeout for the monitoring of this
// connection.
func newSrvRoot(root *initialRoot, entity state.Entity) *srvRoot {
r := &srvRoot{
state: root.srv.state,
rpcConn: root.rpcConn,
resources: common.NewResources(),
entity: entity,
objectCache: make(map[objectKey]reflect.Value),
}
r.resources.RegisterNamed("dataDir", common.StringResource(root.srv.dataDir))
return r
}
示例13: TestStop
func (resourceSuite) TestStop(c *gc.C) {
rs := common.NewResources()
r1 := &fakeResource{}
rs.Register(r1)
r2 := &fakeResource{}
rs.Register(r2)
rs.Stop("1")
c.Assert(r1.stopped, gc.Equals, true)
c.Assert(rs.Get("1"), gc.IsNil)
c.Assert(r2.stopped, gc.Equals, false)
c.Assert(rs.Get("2"), gc.Equals, r2)
c.Assert(rs.Count(), gc.Equals, 1)
}
示例14: TestWatchError
func (*agentEntityWatcherSuite) TestWatchError(c *gc.C) {
getCanWatch := func() (common.AuthFunc, error) {
return nil, fmt.Errorf("pow")
}
resources := common.NewResources()
a := common.NewAgentEntityWatcher(
&fakeState{},
resources,
getCanWatch,
)
_, err := a.Watch(params.Entities{[]params.Entity{{"x0"}}})
c.Assert(err, gc.ErrorMatches, "pow")
}
示例15: SetUpTest
func (s *charmVersionSuite) SetUpTest(c *gc.C) {
s.JujuConnSuite.SetUpTest(c)
s.CharmSuite.SetUpTest(c)
s.resources = common.NewResources()
s.AddCleanup(func(_ *gc.C) { s.resources.StopAll() })
s.authoriser = apiservertesting.FakeAuthorizer{
LoggedIn: true,
EnvironManager: true,
}
var err error
s.charmrevisionupdater, err = charmrevisionupdater.NewCharmRevisionUpdaterAPI(s.State, s.resources, s.authoriser)
c.Assert(err, gc.IsNil)
}