1622
1622
yield self.failUnlessFailure(
1623
1623
wordpress_states["unit_relation"].watch_related_units(not_called),
1624
1624
UnknownRelationRole)
1627
def test_add_relation_state_with_subordinate(self):
1628
"""Adding relation will create a relation node and update topology."""
1629
mysql_ep = RelationEndpoint("mysql", "client-server", "db", "server", False)
1630
logging_ep = RelationEndpoint(
1631
"logging", "client-server", "logger", "client", True)
1632
service = yield self.add_service("logging")
1633
mysql = yield self.add_service("mysql")
1635
relation_state = (yield self.relation_manager.add_relation_state(
1636
logging_ep, mysql_ep))[0]
1637
topology = yield self.get_topology()
1638
self.assertTrue(topology.has_relation(relation_state.internal_id))
1639
self.assertEquals(topology.get_service_principals(service.internal_id),
1640
[mysql.internal_id])
1641
self.assertEquals(topology.get_service_suboridnates(service.internal_id), [])
1642
exists = yield self.client.exists(
1643
"/relations/%s" % relation_state.internal_id)
1644
self.assertTrue(exists)
1645
exists = yield self.client.get(
1646
"/relations/%s/settings" % relation_state.internal_id)
1647
self.assertTrue(exists)