From 4120ea1a9c49d44b1c55e73127dddbaa9590ee54 Mon Sep 17 00:00:00 2001 From: Ifat Afek Date: Mon, 9 Jan 2017 12:40:21 +0000 Subject: [PATCH] Some fixes in the tests Change-Id: Ic0f17663d4e36acd6a6e5a68acc738c335de777d Implements: blueprint doctor-datasource --- vitrage/datasources/alarm_driver_base.py | 1 + vitrage/datasources/doctor/transformer.py | 5 +++-- .../transformer_doctor_update_dynamic.json | 1 + vitrage/tests/unit/datasources/doctor/__init__.py | 15 +++++++++++++++ .../unit/datasources/doctor/test_doctor_driver.py | 1 - .../datasources/doctor/test_doctor_transformer.py | 3 ++- 6 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 vitrage/tests/unit/datasources/doctor/__init__.py diff --git a/vitrage/datasources/alarm_driver_base.py b/vitrage/datasources/alarm_driver_base.py index ed0bf0cf0..015faccc1 100644 --- a/vitrage/datasources/alarm_driver_base.py +++ b/vitrage/datasources/alarm_driver_base.py @@ -108,6 +108,7 @@ class AlarmDriverBase(DriverBase): alarms_to_update.append(alarm) # add alarms that were deleted + # (i.e. the alarm definition was deleted from the datasource) values = list(self.cache.values()) for cached_alarm, timestamp in values: if self._is_erroneous(cached_alarm) and timestamp is not now: diff --git a/vitrage/datasources/doctor/transformer.py b/vitrage/datasources/doctor/transformer.py index cffc69393..4e267a72d 100644 --- a/vitrage/datasources/doctor/transformer.py +++ b/vitrage/datasources/doctor/transformer.py @@ -15,7 +15,7 @@ from oslo_log import log as logging from vitrage.common.constants import DatasourceProperties as DSProps -from vitrage.common.constants import DatasourceProperties as EdgeLabel +from vitrage.common.constants import EdgeLabel from vitrage.common.constants import EntityCategory from vitrage.common.constants import VertexProperties as VProps from vitrage.datasources.alarm_transformer_base import AlarmTransformerBase @@ -46,13 +46,14 @@ class DoctorTransformer(AlarmTransformerBase): details = entity_event.get(DoctorProps.DETAILS, {}) details[VProps.NAME] = entity_event[DoctorProps.TYPE] + details[DoctorProps.TIME] = entity_event[DoctorProps.TIME] return graph_utils.create_vertex( self._create_entity_key(entity_event), entity_category=EntityCategory.ALARM, entity_type=entity_event[DSProps.ENTITY_TYPE], entity_state=self._get_alarm_state(entity_event), - sample_timestamp=entity_event[DoctorProps.TIME], + sample_timestamp=entity_event[DSProps.SAMPLE_DATE], update_timestamp=entity_event[DoctorProps.UPDATE_TIME], metadata=details) diff --git a/vitrage/tests/resources/mock_configurations/transformer/transformer_doctor_update_dynamic.json b/vitrage/tests/resources/mock_configurations/transformer/transformer_doctor_update_dynamic.json index 63ab6c381..2e78ede7b 100644 --- a/vitrage/tests/resources/mock_configurations/transformer/transformer_doctor_update_dynamic.json +++ b/vitrage/tests/resources/mock_configurations/transformer/transformer_doctor_update_dynamic.json @@ -3,6 +3,7 @@ "type": "compute.host.down", "vitrage_entity_type" : "doctor", "vitrage_datasource_action" : "update", + "vitrage_sample_date": "2016-11-29T06:31:50.094836", "details": { "hostname": "compute-1", "source": "sample_monitor", diff --git a/vitrage/tests/unit/datasources/doctor/__init__.py b/vitrage/tests/unit/datasources/doctor/__init__.py new file mode 100644 index 000000000..bf9f61d74 --- /dev/null +++ b/vitrage/tests/unit/datasources/doctor/__init__.py @@ -0,0 +1,15 @@ +# Copyright 2017 - Nokia +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +__author__ = 'stack' diff --git a/vitrage/tests/unit/datasources/doctor/test_doctor_driver.py b/vitrage/tests/unit/datasources/doctor/test_doctor_driver.py index 5e74606cb..1297946c3 100644 --- a/vitrage/tests/unit/datasources/doctor/test_doctor_driver.py +++ b/vitrage/tests/unit/datasources/doctor/test_doctor_driver.py @@ -73,7 +73,6 @@ class DoctorDriverTest(base.BaseTest): # Test assertions self._assert_event_equal(event, event_type, host1, DoctorStatus.UP, time3, time3) - # self._assert_marked_as_deleted(driver, event, True) # Send again the second event. The sample time should be new, but the # update time should remain with its old value (since the state has diff --git a/vitrage/tests/unit/datasources/doctor/test_doctor_transformer.py b/vitrage/tests/unit/datasources/doctor/test_doctor_transformer.py index a839027e0..ddabd24ce 100644 --- a/vitrage/tests/unit/datasources/doctor/test_doctor_transformer.py +++ b/vitrage/tests/unit/datasources/doctor/test_doctor_transformer.py @@ -16,6 +16,7 @@ from datetime import datetime from oslo_config import cfg from oslo_log import log as logging +from vitrage.common.constants import DatasourceProperties as DSProps from vitrage.common.constants import UpdateMethod from vitrage.datasources.doctor import DOCTOR_DATASOURCE from vitrage.datasources.doctor.properties import DoctorDetails @@ -95,7 +96,7 @@ class DoctorTransformerTest(BaseAlarmTransformerTest): self._validate_alarm_vertex_props(vertex, event[DoctorProps.TYPE], DOCTOR_DATASOURCE, - event[DoctorProps.TIME]) + event[DSProps.SAMPLE_DATE]) @staticmethod def _generate_event(time, hostname, status):