Example #1
0
    def test_latest_stats_no_data(self, mock_ltm_feed, mock_vm_metrics):
        # Set up the return data.
        mock_vio3_metric = mock.MagicMock()
        mock_vio3_metric.category = 'vios_3'
        mock_vio3_metric.updated_datetime = 2

        # Reset as this was invoked once up front.
        mock_ltm_feed.reset_mock()
        mock_ltm_feed.return_value = [mock_vio3_metric]

        # Call the system.
        resp_date, resp_phyp, resp_vios = pvm_t_mon.latest_stats(mock.Mock(),
                                                                 mock.Mock())
        self.assertIsNotNone(resp_date)
        self.assertIsNone(resp_phyp)
        self.assertIsNone(resp_vios)
Example #2
0
    def test_latest_stats_no_data(self, mock_ltm_feed, mock_vm_metrics):
        # Set up the return data.
        mock_vio3_metric = mock.MagicMock()
        mock_vio3_metric.category = 'vios_3'
        mock_vio3_metric.updated_datetime = 2

        # Reset as this was invoked once up front.
        mock_ltm_feed.reset_mock()
        mock_ltm_feed.return_value = [mock_vio3_metric]

        # Call the system.
        resp_date, resp_phyp, resp_vios = pvm_t_mon.latest_stats(
            mock.Mock(), mock.Mock())
        self.assertIsNotNone(resp_date)
        self.assertIsNone(resp_phyp)
        self.assertIsNone(resp_vios)
Example #3
0
    def test_latest_stats(self, mock_ltm_feed):
        # Set up the return data.
        mock_phyp_metric = mock.MagicMock()
        mock_phyp_metric.category = 'phyp'
        mock_phyp_metric.updated_datetime = 1
        mock_phyp_metric.link = 'bad'

        mock_phyp2_metric = mock.MagicMock()
        mock_phyp2_metric.category = 'phyp'
        mock_phyp2_metric.updated_datetime = 2
        mock_phyp2_metric.link = 'phyp'

        mock_vio1_metric = mock.MagicMock()
        mock_vio1_metric.category = 'vios_1'
        mock_vio1_metric.updated_datetime = 1
        mock_vio1_metric.link = 'bad'

        mock_vio2_metric = mock.MagicMock()
        mock_vio2_metric.category = 'vios_1'
        mock_vio2_metric.updated_datetime = 2
        mock_vio2_metric.link = 'vio'

        mock_vio3_metric = mock.MagicMock()
        mock_vio3_metric.category = 'vios_3'
        mock_vio3_metric.updated_datetime = 2
        mock_vio3_metric.link = 'vio'

        mock_lpar1_metric = mock.MagicMock()
        mock_lpar1_metric.category = 'lpar'
        mock_lpar1_metric.updated_datetime = 2
        mock_lpar1_metric.link = 'lpar'

        # Reset as this was invoked once up front.
        mock_ltm_feed.reset_mock()
        mock_ltm_feed.return_value = [mock_phyp_metric, mock_phyp2_metric,
                                      mock_vio1_metric, mock_vio2_metric,
                                      mock_vio3_metric, mock_lpar1_metric]

        # Data for the responses.
        phyp_resp = self._load(PHYP_DATA)
        vios_resp = self._load(VIOS_DATA)

        def validate_read(link, xag=None):
            resp = mock.MagicMock()
            if link == 'phyp':
                resp.body = phyp_resp
                return resp
            elif link == 'vio':
                resp.body = vios_resp
                return resp
            elif link == 'lpar':
                resp.body = self._load(LPAR_DATA)
                return resp
            else:
                self.fail()

        self.adpt.read_by_href.side_effect = validate_read

        resp_date, resp_phyp, resp_vioses, resp_lpars = (
            pvm_t_mon.latest_stats(self.adpt, mock.Mock()))
        self.assertIsNotNone(resp_phyp)
        self.assertIsInstance(resp_phyp, pvm_mon_phyp.PhypInfo)
        self.assertEqual(2, len(resp_vioses))
        self.assertIsInstance(resp_vioses[0], pvm_mon_vios.ViosInfo)
        self.assertIsInstance(resp_vioses[1], pvm_mon_vios.ViosInfo)
        self.assertEqual(6, len(resp_lpars.lpars_util))
        self.assertIsInstance(resp_lpars, pvm_mon_lpar.LparInfo)

        # Invoke again, but set to ignore vioses
        resp_date, resp_phyp, resp_vioses, resp_lpars = (
            pvm_t_mon.latest_stats(self.adpt, mock.Mock(), include_vio=False))
        self.assertIsNotNone(resp_phyp)
        self.assertIsInstance(resp_phyp, pvm_mon_phyp.PhypInfo)
        self.assertEqual(0, len(resp_vioses))
Example #4
0
    def test_latest_stats(self, mock_ltm_feed):
        # Set up the return data.
        mock_phyp_metric = mock.MagicMock()
        mock_phyp_metric.category = 'phyp'
        mock_phyp_metric.updated_datetime = 1
        mock_phyp_metric.link = 'bad'

        mock_phyp2_metric = mock.MagicMock()
        mock_phyp2_metric.category = 'phyp'
        mock_phyp2_metric.updated_datetime = 2
        mock_phyp2_metric.link = 'phyp'

        mock_vio1_metric = mock.MagicMock()
        mock_vio1_metric.category = 'vios_1'
        mock_vio1_metric.updated_datetime = 1
        mock_vio1_metric.link = 'bad'

        mock_vio2_metric = mock.MagicMock()
        mock_vio2_metric.category = 'vios_1'
        mock_vio2_metric.updated_datetime = 2
        mock_vio2_metric.link = 'vio'

        mock_vio3_metric = mock.MagicMock()
        mock_vio3_metric.category = 'vios_3'
        mock_vio3_metric.updated_datetime = 2
        mock_vio3_metric.link = 'vio'

        # Reset as this was invoked once up front.
        mock_ltm_feed.reset_mock()
        mock_ltm_feed.return_value = [mock_phyp_metric, mock_phyp2_metric,
                                      mock_vio1_metric, mock_vio2_metric,
                                      mock_vio3_metric]

        # Data for the responses.
        phyp_resp = self._load(PHYP_DATA)
        vios_resp = self._load(VIOS_DATA)

        def validate_read(link, xag=None):
            resp = mock.MagicMock()
            if link == 'phyp':
                resp.body = phyp_resp
                return resp
            elif link == 'vio':
                resp.body = vios_resp
                return resp
            else:
                self.fail()

        self.adpt.read_by_href.side_effect = validate_read

        resp_date, resp_phyp, resp_vioses = pvm_t_mon.latest_stats(self.adpt,
                                                                   mock.Mock())
        self.assertIsNotNone(resp_phyp)
        self.assertIsInstance(resp_phyp, pvm_mon_phyp.PhypInfo)
        self.assertEqual(2, len(resp_vioses))
        self.assertIsInstance(resp_vioses[0], pvm_mon_vios.ViosInfo)
        self.assertIsInstance(resp_vioses[1], pvm_mon_vios.ViosInfo)

        # Invoke again, but set to ignore vioses
        resp_date, resp_phyp, resp_vioses = pvm_t_mon.latest_stats(
            self.adpt, mock.Mock(), include_vio=False)
        self.assertIsNotNone(resp_phyp)
        self.assertIsInstance(resp_phyp, pvm_mon_phyp.PhypInfo)
        self.assertEqual(0, len(resp_vioses))