func (s *AddRelationSuite) checkEndpoints(c *C, res params.AddRelationResults) { c.Assert(res.Endpoints["wordpress"], DeepEquals, charm.Relation{ Name: "db", Role: charm.RelationRole("requirer"), Interface: "mysql", Optional: false, Limit: 1, Scope: charm.RelationScope("global"), }) c.Assert(res.Endpoints["mysql"], DeepEquals, charm.Relation{ Name: "server", Role: charm.RelationRole("provider"), Interface: "mysql", Optional: false, Limit: 0, Scope: charm.RelationScope("global"), }) }
func (s *clientSuite) TestSuccessfulAddRelation(c *C) { s.setUpScenario(c) endpoints := []string{"wordpress", "mysql"} res, err := s.APIState.Client().AddRelation(endpoints...) c.Assert(err, IsNil) c.Assert(res.Endpoints["wordpress"].Name, Equals, "db") c.Assert(res.Endpoints["wordpress"].Interface, Equals, "mysql") c.Assert(res.Endpoints["wordpress"].Scope, Equals, charm.RelationScope("global")) c.Assert(res.Endpoints["mysql"].Name, Equals, "server") c.Assert(res.Endpoints["mysql"].Interface, Equals, "mysql") c.Assert(res.Endpoints["mysql"].Scope, Equals, charm.RelationScope("global")) for _, endpoint := range endpoints { svc, err := s.State.Service(endpoint) c.Assert(err, IsNil) rels, err := svc.Relations() c.Assert(err, IsNil) for _, rel := range rels { c.Assert(rel.Life(), Equals, state.Alive) } } }