diff --git a/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py b/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py index 0ea1a9c2b0906d8a24bdb631f002a9d357ccd619..16f67287f55edb235ed1e47066081273707ff53b 100644 --- a/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py +++ b/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py @@ -47,24 +47,6 @@ class SKABaseDevice(Device): """ __metaclass__ = DeviceMeta # PROTECTED REGION ID(SKABaseDevice.class_variable) ENABLED START # - - def __init__(self, *args, **kwargs): - super(SKABaseDevice, self).__init__(*args, **kwargs) - - # Initialize attribute values. - self._build_state = '{}, {}, {}'.format(release.name, release.version, - release.description) - self._version_id = release.version - self._central_logging_level = 0 - self._element_logging_level = 0 - self._storage_logging_level = 0 - self._health_state = 0 - self._admin_mode = 0 - self._control_mode = 0 - self._simulation_mode = False - self._test_mode = "" - - def _get_device_json(self, args_dict): try: @@ -303,6 +285,19 @@ class SKABaseDevice(Device): Device.init_device(self) # PROTECTED REGION ID(SKABaseDevice.init_device) ENABLED START # + # Initialize attribute values. + self._build_state = '{}, {}, {}'.format(release.name, release.version, + release.description) + self._version_id = release.version + self._central_logging_level = 0 + self._element_logging_level = 0 + self._storage_logging_level = 0 + self._health_state = 0 + self._admin_mode = 0 + self._control_mode = 0 + self._simulation_mode = False + self._test_mode = "" + # create TANGO Groups objects dict, according to property self.debug_stream("Groups definitions: {}".format(self.GroupDefinitions)) try: diff --git a/skabase/SKABaseDevice/test/SKABaseDevice_test.py b/skabase/SKABaseDevice/test/SKABaseDevice_test.py index f5f9bc0d5dae376dcdcf143a51b73e87c5a175d2..07240e5b6a095338fafb730f593aa541fc4d18cb 100644 --- a/skabase/SKABaseDevice/test/SKABaseDevice_test.py +++ b/skabase/SKABaseDevice/test/SKABaseDevice_test.py @@ -32,7 +32,7 @@ from PyTango import DevFailed, DevState # Look at devicetest examples for more advanced testing # Device test case -@pytest.mark.usefixtures("tango_context") +@pytest.mark.usefixtures("tango_context", "initialize_device") class TestSKABaseDevice(object): """Test case for packet generation.""" # PROTECTED REGION ID(SKABaseDevice.test_additionnal_import) ENABLED START # @@ -96,19 +96,25 @@ class TestSKABaseDevice(object): def test_centralLoggingLevel(self, tango_context): """Test for centralLoggingLevel""" # PROTECTED REGION ID(SKABaseDevice.test_centralLoggingLevel) ENABLED START # - tango_context.device.centralLoggingLevel + assert tango_context.device.centralLoggingLevel == 0 + tango_context.device.write_attribute("centralLoggingLevel", 1) + assert tango_context.device.centralLoggingLevel == 1 # PROTECTED REGION END # // SKABaseDevice.test_centralLoggingLevel def test_elementLoggingLevel(self, tango_context): """Test for elementLoggingLevel""" # PROTECTED REGION ID(SKABaseDevice.test_elementLoggingLevel) ENABLED START # - tango_context.device.elementLoggingLevel + assert tango_context.device.elementLoggingLevel == 0 + tango_context.device.write_attribute("elementLoggingLevel", 1) + assert tango_context.device.elementLoggingLevel == 1 # PROTECTED REGION END # // SKABaseDevice.test_elementLoggingLevel def test_storageLoggingLevel(self, tango_context): """Test for storageLoggingLevel""" # PROTECTED REGION ID(SKABaseDevice.test_storageLoggingLevel) ENABLED START # - tango_context.device.storageLoggingLevel + assert tango_context.device.storageLoggingLevel == 0 + tango_context.device.write_attribute("storageLoggingLevel", 1) + assert tango_context.device.storageLoggingLevel == 1 # PROTECTED REGION END # // SKABaseDevice.test_storageLoggingLevel def test_healthState(self, tango_context): @@ -132,7 +138,9 @@ class TestSKABaseDevice(object): def test_simulationMode(self, tango_context): """Test for simulationMode""" # PROTECTED REGION ID(SKABaseDevice.test_simulationMode) ENABLED START # - tango_context.device.simulationMode + assert tango_context.device.simulationMode == False + tango_context.device.write_attribute("simulationMode", True) + assert tango_context.device.simulationMode == True # PROTECTED REGION END # // SKABaseDevice.test_simulationMode def test_testMode(self, tango_context): diff --git a/skabase/conftest.py b/skabase/conftest.py index 91fdb4c4ae1f82d6e04c0edf1eecc5778977ccf6..e78a51d7380b9f504717bcd618d055563403165a 100644 --- a/skabase/conftest.py +++ b/skabase/conftest.py @@ -40,3 +40,14 @@ def tango_context(request): yield tango_context tango_context.stop() + +@pytest.fixture(scope="function") +def initialize_device(tango_context): + """Re-initializes the device. + + Parameters + ---------- + tango_context: tango.test_context.DeviceTestContext + Context to run a device without a database. + """ + yield tango_context.device.Init()