Ejemplo n.º 1
0
    def test_pick_attr(self):
        sd = self.sample_attr_data
        self.assertEqual(pick_attr(sd, role="client"),
                         {"role": "client", "name": "db"})

        self.assertEqual(pick_attr(sd, role="server"),
                         {"role": "server", "name": "website"})

        self.assertEqual(pick_attr(sd, role="client", name="db"),
                         {"role": "client", "name": "db"})

        self.assertEqual(pick_attr(sd, role="client", name="foo"), None)
Ejemplo n.º 2
0
    def _build_relation(self):
        mysql_ep = RelationEndpoint("mysql", "juju-info", "juju-info",
                                    "server", "global")
        logging_ep = RelationEndpoint("logging", "juju-info", "juju-info",
                                      "client", "container")

        mysql, my_units = yield self.get_service_and_units_by_charm_name(
            "mysql", 1)
        self.assertFalse((yield mysql.is_subordinate()))

        log, log_units = yield self.get_service_and_units_by_charm_name(
            "logging")
        self.assertTrue((yield log.is_subordinate()))

        # add the relationship so we can create units with  containers
        relation_state, service_states = (yield
            self.relation_manager.add_relation_state(
            mysql_ep, logging_ep))

        log, log_units = yield self.get_service_and_units_by_charm_name(
            "logging",
            containers=my_units)
        self.assertTrue((yield log.is_subordinate()))
        for lu in log_units:
            self.assertTrue((yield lu.is_subordinate()))

        self.mu1 = my_units[0]
        self.lu1 = log_units[0]

        self.mystate = pick_attr(service_states, relation_role="server")
        self.logstate = pick_attr(service_states, relation_role="client")

        yield self.mystate.add_unit_state(self.mu1)
        self.log_unit_relation = yield self.logstate.add_unit_state(self.lu1)
        self.my_unit_relation = yield self.mystate.add_unit_state(self.mu1)
        self.unit = self.lu1
        self.container_unit = self.mu1

        self.service = log
        self.relation_state = relation_state

        returnValue(self.logstate)