Exemple #1
0
    def test_get_all_metrics(self):
        """Gets group's metrics"""

        def _game(groups, log, _print=False):
            self.assertEqual(log, "log")
            return [Effect(Constant(["foo", "bar"])), Effect(Constant(["baz"]))]

        d = get_all_metrics(base_dispatcher, object(), "log", get_all_metrics_effects=_game)
        self.assertEqual(set(self.successResultOf(d)), set(["foo", "bar", "baz"]))
Exemple #2
0
    def test_ignore_error_results(self):
        """
        When get_all_metrics_effects returns a list containing a None, those
        elements are ignored.
        """

        def _game(groups, log, _print=False):
            self.assertEqual(log, "log")
            return [Effect(Constant(None)), Effect(Constant(["foo"]))]

        d = get_all_metrics(base_dispatcher, object(), "log", get_all_metrics_effects=_game)
        self.assertEqual(self.successResultOf(d), ["foo"])
Exemple #3
0
    def test_ignore_error_results(self):
        """
        When get_all_metrics_effects returns a list containing a None, those
        elements are ignored.
        """
        def _game(groups, log, _print=False):
            self.assertEqual(log, "log")
            return [Effect(Constant(None)), Effect(Constant(['foo']))]

        d = get_all_metrics(base_dispatcher,
                            object(),
                            "log",
                            get_all_metrics_effects=_game)
        self.assertEqual(self.successResultOf(d), ['foo'])
Exemple #4
0
    def test_get_all_metrics(self):
        """Gets group's metrics"""
        def _game(groups, log, _print=False):
            self.assertEqual(log, "log")
            return [
                Effect(Constant(['foo', 'bar'])),
                Effect(Constant(['baz']))
            ]

        d = get_all_metrics(base_dispatcher,
                            object(),
                            "log",
                            get_all_metrics_effects=_game)
        self.assertEqual(set(self.successResultOf(d)),
                         set(['foo', 'bar', 'baz']))
Exemple #5
0
    def test_get_all_metrics(self):
        """
        Gets group's metrics
        """
        servers_t1 = {'g1': [{'status': 'ACTIVE'}] * 3 + [{'status': 'BUILD'}] * 2,
                      'g2': [{'status': 'ACTIVE'}]}
        servers_t2 = {'g4': [{'status': 'ACTIVE'}, {'status': 'BUILD'}]}
        groups = [{'tenantId': 't1', 'groupId': 'g1', 'desired': 3},
                  {'tenantId': 't1', 'groupId': 'g2', 'desired': 4},
                  {'tenantId': 't2', 'groupId': 'g4', 'desired': 2}]

        self.tenant_servers['t1'] = servers_t1
        self.tenant_servers['t2'] = servers_t2

        d = get_all_metrics(groups, 'a', 'n', 'r', clock='c')

        self.assertEqual(
            set(self.successResultOf(d)),
            set([GroupMetrics('t1', 'g1', 3, 3, 2), GroupMetrics('t1', 'g2', 4, 1, 0),
                 GroupMetrics('t2', 'g4', 2, 1, 1)]))