def test_add_missing_check(self, mock_cloud_monitoring): """ Tests whether missing check is added. """ self.scaling_group.active_servers = ['server1'] entity = fakes.FakeCloudMonitorEntity(info={'agent_id': 'server1'}) entity = MagicMock(spec=CloudMonitorEntity) agent_id = PropertyMock(return_value='server1') type(entity).agent_id = agent_id class mock_ipaddr(object): def values(self): return ['1.1.1.1', '2.2.2.2'] mock_ip = mock_ipaddr() type(entity).ip_addresses = mock_ip check = MagicMock(spec=CloudMonitorCheck) check_type = PropertyMock(return_value='NOTagent.plugin') type(check).type = check_type check.get_metric_data_points.return_value = [{'average': -1}] mock_cloud_monitoring.list_entities.return_value = [entity] entity.create_check = MagicMock() raxmon_autoscale = Raxmon_autoscale(self.scaling_group) raxmon_autoscale.make_decision() entity.create_check.assert_called_once_with(check_type='agent.plugin', target_alias='1.1.1.1', period=30, label='scale_me_agent.plugin', details={}, timeout=15)
def test_skip_add_entity_check(self, mock_cloud_monitoring): """ Tests that entity.create_check is NOT called if there already is a check matching the requested one on the entity passed """ self.scaling_group.active_servers = ['server1'] entity = fakes.FakeCloudMonitorEntity(info={'agent_id': 'server1'}) entity = MagicMock(spec=CloudMonitorEntity) agent_id = PropertyMock(return_value='server1') type(entity).agent_id = agent_id class mock_ipaddr(object): def values(self): return ['1.1.1.1', '2.2.2.2'] mock_ip = mock_ipaddr() type(entity).ip_addresses = mock_ip check = MagicMock(spec=CloudMonitorCheck) check_type = PropertyMock(return_value='agent.plugin') type(check).type = check_type check.get_metric_data_points.return_value = [{'average': -1}] entity.list_checks.return_value = [check] entity.create_check = MagicMock() monitoring.add_entity_checks([entity], 'agent.plugin', 'scale_me') self.assertFalse(entity.create_check.called)