diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c90e28f2cfe032d016f4b08ea46b2fe2e6cce1cd..5b2722363c521506f17ff7981ad9640748cf8639 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -127,6 +127,9 @@ run_unit_tests_coverage: package_files: stage: package + needs: + - trigger_prepare + artifacts: expire_in: 1w paths: diff --git a/tangostationcontrol/rpc/antennafield.py b/tangostationcontrol/rpc/antennafield.py index a5a88e7dbba100afee30e12566c7446b2d6dd62a..f8ea954ffb268ba9cf06a140682213d0b7192645 100644 --- a/tangostationcontrol/rpc/antennafield.py +++ b/tangostationcontrol/rpc/antennafield.py @@ -43,13 +43,33 @@ class AntennaField(antennafield_pb2_grpc.AntennafieldServicer): family = antenna_field_family_name(identifier.antennafield_name) db = tango.Database() device_exported = db.get_device_exported_for_class(family) - + logger.info( + "Create_antennafield_device_proxy ANTENNA=%s FIELD=%s FAMILY=%s", + identifier.antenna_name, + identifier.antennafield_name, + family, + ) for device_name in device_exported: - _, _, exported_antenna_name = device_name.split("/") + _, _, exported_antennafield_name = device_name.split("/") + logger.info( + "Found a device name in device_exported ANTENNA=%s FIELD=%s FAMILY=%s DEVICE_NAME=%s EXPORTED_ANTENNAFIELD_NAME=%s", + identifier.antenna_name, + identifier.antennafield_name, + family, + device_name, + exported_antennafield_name, + ) if ( - exported_antenna_name.casefold() - == identifier.antenna_name.casefold() + exported_antennafield_name.casefold() + == identifier.antennafield_name.casefold() ): + logger.info( + "We have a Match. ANTENNA=%s FIELD=%s FAMILY=%s DEVICE_NAME=%s", + identifier.antenna_name, + identifier.antennafield_name, + family, + device_name, + ) return create_device_proxy(device_name, write_access=write_access) except Exception as ex: logger.exception( @@ -62,10 +82,9 @@ class AntennaField(antennafield_pb2_grpc.AntennafieldServicer): raise IOError( f"Failed to create device proxy to '{identifier.antennafield_name}'" ) from ex - else: - raise ValueError( - f"Antenna in Antenna field not found '{identifier.antennafield_name} '" - ) + raise ValueError( + f"Antenna '{identifier.antenna_name}' in Antenna field '{identifier.antennafield_name}' not found " + ) def _get_antenna_index( self, identifier: Identifier, antennafield_device: DeviceProxy diff --git a/tests/rpc/test_antennafield.py b/tests/rpc/test_antennafield.py index 1d53edb30816406d952a631b304518e7a7fea58a..a1674732ce39cd88aadb4c4d9dcb8ee42b1c4fa6 100644 --- a/tests/rpc/test_antennafield.py +++ b/tests/rpc/test_antennafield.py @@ -18,8 +18,8 @@ class TestAntennaField(base.TestCase): mock_db = MagicMock() mock_tango_database.return_value = mock_db mock_db.get_device_exported_for_class.return_value = [ - "STAT/AFL/Antenna1", - "STAT/AFL/Antenna2", # This should match the identifier + "STAT/AFL/LBA", + "STAT/AFL/HBA", # This should match the identifier ] return mock_db @@ -42,7 +42,7 @@ class TestAntennaField(base.TestCase): # Assert mock_create_device_proxy.assert_called_once_with( - "STAT/AFL/Antenna2", write_access=True + "STAT/AFL/LBA", write_access=True ) self.assertEqual(result, mock_device)