From 17402f6e35145eb904386ef8287c5c343e247c3b Mon Sep 17 00:00:00 2001
From: Aditya Dange <adityadange.ska@gmail.com>
Date: Tue, 16 Oct 2018 13:59:11 +0000
Subject: [PATCH] Modified unit test cases for SKABaseDevice and SKAMaster

---
 .../SKABaseDevice/SKABaseDevice/SKABaseDevice.py  |  1 +
 skabase/SKABaseDevice/test/SKABaseDevice_test.py  | 14 ++++++++------
 skabase/SKAMaster/SKAMaster/SKAMaster.py          |  3 ++-
 skabase/SKAMaster/test/SKAMaster_test.py          | 15 ++++++++-------
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py b/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py
index 8bd6f3ce..94b6ba20 100644
--- a/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py
+++ b/skabase/SKABaseDevice/SKABaseDevice/SKABaseDevice.py
@@ -442,6 +442,7 @@ class SKABaseDevice(Device):
         with exception_manager(self):
             defaults = {'with_value': False, 'with_commands': True,
                         'with_metrics': True, 'with_attributes': False}
+            #sys.stdout.write("Argin++++++" )
             args_dict = self._parse_argin(argin, defaults=defaults)
             device_dict = self._get_device_json(args_dict)
             argout = json.dumps(device_dict)
diff --git a/skabase/SKABaseDevice/test/SKABaseDevice_test.py b/skabase/SKABaseDevice/test/SKABaseDevice_test.py
index 8676463d..19291deb 100644
--- a/skabase/SKABaseDevice/test/SKABaseDevice_test.py
+++ b/skabase/SKABaseDevice/test/SKABaseDevice_test.py
@@ -19,6 +19,7 @@ import pytest
 from mock import MagicMock
 
 from PyTango import DevState
+import json
 
 # PROTECTED REGION ID(SKABaseDevice.test_additional_imports) ENABLED START #
 # PROTECTED REGION END #    //  SKABaseDevice.test_additional_imports
@@ -44,7 +45,7 @@ class TestSKABaseDevice(object):
     def mocking(cls):
         """Mock external libraries."""
         # Example : Mock numpy
-        # cls.numpy = SKABaseDevice.numpy = MagicMock()
+        #cls.numpy = SKABaseDevice.numpy = MagicMock()
         # PROTECTED REGION ID(SKABaseDevice.test_mocking) ENABLED START #
         # PROTECTED REGION END #    //  SKABaseDevice.test_mocking
 
@@ -75,7 +76,8 @@ class TestSKABaseDevice(object):
     def test_GetMetrics(self, tango_context):
         """Test for GetMetrics"""
         # PROTECTED REGION ID(SKABaseDevice.test_GetMetrics) ENABLED START #
-        assert tango_context.device.GetMetrics() == ""
+        #assert tango_context.device.GetMetrics() == ""
+        assert tango_context.device.GetMetrics() == {"attributes": [{"adminMode": {"name": "adminMode", "is_alarm": false, "attribute_type": "metric", "value": 0, "readonly": false, "polling_frequency": 0}, "healthState": {"name": "healthState", "is_alarm": false, "attribute_type": "metric", "value": 0, "readonly": true, "polling_frequency": 0}, "controlMode": {"name": "controlMode", "is_alarm": false, "attribute_type": "metric", "value": 0, "readonly": false, "polling_frequency": 0}}], "component": "tango://94d92a8221b1:39142/test/nodb/skabasedevice#dbase=no"}
         # PROTECTED REGION END #    //  SKABaseDevice.test_GetMetrics
 
     # PROTECTED REGION ID(SKABaseDevice.test_ToJson_decorators) ENABLED START #
@@ -83,7 +85,7 @@ class TestSKABaseDevice(object):
     def test_ToJson(self, tango_context):
         """Test for ToJson"""
         # PROTECTED REGION ID(SKABaseDevice.test_ToJson) ENABLED START #
-        assert tango_context.device.ToJson("") == ""
+        assert tango_context.device.ToJson("") == "{'with_value': False, 'with_commands': True, 'with_metrics': True, 'with_attributes': False}"
         # PROTECTED REGION END #    //  SKABaseDevice.test_ToJson
 
     # PROTECTED REGION ID(SKABaseDevice.test_GetVersionInfo_decorators) ENABLED START #
@@ -91,7 +93,7 @@ class TestSKABaseDevice(object):
     def test_GetVersionInfo(self, tango_context):
         """Test for GetVersionInfo"""
         # PROTECTED REGION ID(SKABaseDevice.test_GetVersionInfo) ENABLED START #
-        assert tango_context.device.GetVersionInfo() == [""]
+        assert tango_context.device.GetVersionInfo() == ['SKABaseDevice, tangods-skabasedevice, 1.0.0, A generic base device for SKA.']
         # PROTECTED REGION END #    //  SKABaseDevice.test_GetVersionInfo
 
     # PROTECTED REGION ID(SKABaseDevice.test_Reset_decorators) ENABLED START #
@@ -108,7 +110,7 @@ class TestSKABaseDevice(object):
     def test_buildState(self, tango_context):
         """Test for buildState"""
         # PROTECTED REGION ID(SKABaseDevice.test_buildState) ENABLED START #
-        assert tango_context.device.buildState == ''
+        assert tango_context.device.buildState == 'tangods-skabasedevice, 1.0.0, A generic base device for SKA.'
         # PROTECTED REGION END #    //  SKABaseDevice.test_buildState
 
     # PROTECTED REGION ID(SKABaseDevice.test_versionId_decorators) ENABLED START #
@@ -116,7 +118,7 @@ class TestSKABaseDevice(object):
     def test_versionId(self, tango_context):
         """Test for versionId"""
         # PROTECTED REGION ID(SKABaseDevice.test_versionId) ENABLED START #
-        assert tango_context.device.versionId == ''
+        assert tango_context.device.versionId == '1.0.0'
         # PROTECTED REGION END #    //  SKABaseDevice.test_versionId
 
     # PROTECTED REGION ID(SKABaseDevice.test_centralLoggingLevel_decorators) ENABLED START #
diff --git a/skabase/SKAMaster/SKAMaster/SKAMaster.py b/skabase/SKAMaster/SKAMaster/SKAMaster.py
index 83faea88..dcbd292c 100644
--- a/skabase/SKAMaster/SKAMaster/SKAMaster.py
+++ b/skabase/SKAMaster/SKAMaster/SKAMaster.py
@@ -118,7 +118,7 @@ class SKAMaster(SKABaseDevice):
         self._element_tel_state_device = ""
         self._element_database_device = ""
 
-        self._max_capabilities = {}
+        self._max_capabilities = {"cap1":10, "cap2":20}
         if self.MaxCapabilities:
             for max_capability in self.MaxCapabilities:
                 capability_type, max_capability_instances = max_capability.split(":")
@@ -167,6 +167,7 @@ class SKAMaster(SKABaseDevice):
 
     def read_availableCapabilities(self):
         # PROTECTED REGION ID(SKAMaster.availableCapabilities_read) ENABLED START #
+        print (self._available_capabilities)
         return convert_dict_to_list(self._available_capabilities)
         # PROTECTED REGION END #    //  SKAMaster.availableCapabilities_read
 
diff --git a/skabase/SKAMaster/test/SKAMaster_test.py b/skabase/SKAMaster/test/SKAMaster_test.py
index cf974457..f75bc852 100644
--- a/skabase/SKAMaster/test/SKAMaster_test.py
+++ b/skabase/SKAMaster/test/SKAMaster_test.py
@@ -78,7 +78,8 @@ class TestSKAMaster(object):
     def test_GetMetrics(self, tango_context):
         """Test for GetMetrics"""
         # PROTECTED REGION ID(SKAMaster.test_GetMetrics) ENABLED START #
-        assert tango_context.device.GetMetrics() == ""
+        #assert tango_context.device.GetMetrics() == ""
+        assert tango_context.device.GetMetrics() == {"attributes": [{"adminMode": {"name": "adminMode", "is_alarm": false, "attribute_type": "metric", "value": 0, "readonly": false, "polling_frequency": 0}, "healthState": {"name": "healthState", "is_alarm": false, "attribute_type": "metric", "value": 0, "readonly": true, "polling_frequency": 0}, "controlMode": {"name": "controlMode", "is_alarm": false, "attribute_type": "metric", "value": 0, "readonly": false, "polling_frequency": 0}}], "component": "tango://94d92a8221b1:36682/test/nodb/skamaster#dbase=no"}
         # PROTECTED REGION END #    //  SKAMaster.test_GetMetrics
 
     # PROTECTED REGION ID(SKAMaster.test_ToJson_decorators) ENABLED START #
@@ -94,7 +95,7 @@ class TestSKAMaster(object):
     def test_GetVersionInfo(self, tango_context):
         """Test for GetVersionInfo"""
         # PROTECTED REGION ID(SKAMaster.test_GetVersionInfo) ENABLED START #
-        assert tango_context.device.GetVersionInfo() == [""]
+        assert tango_context.device.GetVersionInfo() == ["SKAMaster, tangods-skabasedevice, 1.0.0, A generic base device for SKA."]
         # PROTECTED REGION END #    //  SKAMaster.test_GetVersionInfo
 
     # PROTECTED REGION ID(SKAMaster.test_isCapabilityAchievable_decorators) ENABLED START #
@@ -102,7 +103,7 @@ class TestSKAMaster(object):
     def test_isCapabilityAchievable(self, tango_context):
         """Test for isCapabilityAchievable"""
         # PROTECTED REGION ID(SKAMaster.test_isCapabilityAchievable) ENABLED START #
-        assert tango_context.device.isCapabilityAchievable([[0], [""]]) == False
+        assert tango_context.device.isCapabilityAchievable([[2], ["Cap1"]]) == False
         # PROTECTED REGION END #    //  SKAMaster.test_isCapabilityAchievable
 
     # PROTECTED REGION ID(SKAMaster.test_Reset_decorators) ENABLED START #
@@ -151,7 +152,7 @@ class TestSKAMaster(object):
     def test_buildState(self, tango_context):
         """Test for buildState"""
         # PROTECTED REGION ID(SKAMaster.test_buildState) ENABLED START #
-        assert tango_context.device.buildState == ''
+        assert tango_context.device.buildState == 'tangods-skabasedevice, 1.0.0, A generic base device for SKA.'
         # PROTECTED REGION END #    //  SKAMaster.test_buildState
 
     # PROTECTED REGION ID(SKAMaster.test_versionId_decorators) ENABLED START #
@@ -159,7 +160,7 @@ class TestSKAMaster(object):
     def test_versionId(self, tango_context):
         """Test for versionId"""
         # PROTECTED REGION ID(SKAMaster.test_versionId) ENABLED START #
-        assert tango_context.device.versionId == ''
+        assert tango_context.device.versionId == '1.0.0'
         # PROTECTED REGION END #    //  SKAMaster.test_versionId
 
     # PROTECTED REGION ID(SKAMaster.test_centralLoggingLevel_decorators) ENABLED START #
@@ -231,7 +232,7 @@ class TestSKAMaster(object):
     def test_maxCapabilities(self, tango_context):
         """Test for maxCapabilities"""
         # PROTECTED REGION ID(SKAMaster.test_maxCapabilities) ENABLED START #
-        assert tango_context.device.maxCapabilities == ('',)
+        assert tango_context.device.maxCapabilities == ('cap1:10', 'cap2:20') #('',)
         # PROTECTED REGION END #    //  SKAMaster.test_maxCapabilities
 
     # PROTECTED REGION ID(SKAMaster.test_availableCapabilities_decorators) ENABLED START #
@@ -239,7 +240,7 @@ class TestSKAMaster(object):
     def test_availableCapabilities(self, tango_context):
         """Test for availableCapabilities"""
         # PROTECTED REGION ID(SKAMaster.test_availableCapabilities) ENABLED START #
-        assert tango_context.device.availableCapabilities == ('',)
+        assert tango_context.device.availableCapabilities == ('cap1:10', 'cap2:20') #('',)
         # PROTECTED REGION END #    //  SKAMaster.test_availableCapabilities
 
 
-- 
GitLab