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)
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)
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))
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))