From e44bf4e47759207a5f02766c99f5cb685d98a9fb Mon Sep 17 00:00:00 2001 From: WesleyTangNationalInstruments <103216564+WesleyTangNationalInstruments@users.noreply.github.com> Date: Tue, 27 Jun 2023 14:35:22 -0500 Subject: [PATCH] [BUG2433073] Added `Enum out` to sample_measurement (#307) * Fixed an issue in the servicer where we were not adding annotations to output. * Fixed an issue in the servicer where we were specifying v1 message types for v2 measurement services. * Fixed an issue where sample files was using v1 interface and thus not getting annotations for output parameters. * Updated measui files for sample measurement to include enum out control. * Fixed an issue with test___measurement_service_v2___get_metadata___returns_metadata where it was checking if message types were v1 rather than v2. --- .../SampleAllParameters.measui | 27 ++++++++++++------- .../SampleMeasurement.measui | 25 ++++++++++------- .../_internal/grpc_servicer.py | 5 ++-- tests/acceptance/test_measurement_service.py | 8 ++++-- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/examples/sample_measurement/SampleAllParameters.measui b/examples/sample_measurement/SampleAllParameters.measui index 1f94e39ea..dfb509283 100644 --- a/examples/sample_measurement/SampleAllParameters.measui +++ b/examples/sample_measurement/SampleAllParameters.measui @@ -1,12 +1,12 @@  - + - - - - - - + + + + + + @@ -16,7 +16,7 @@ \ No newline at end of file diff --git a/examples/sample_measurement/SampleMeasurement.measui b/examples/sample_measurement/SampleMeasurement.measui index c29c61e8f..a47f1df57 100644 --- a/examples/sample_measurement/SampleMeasurement.measui +++ b/examples/sample_measurement/SampleMeasurement.measui @@ -1,12 +1,12 @@  - + - - - - - - + + + + + + @@ -14,7 +14,7 @@ - + 0x0 @@ -34,7 +34,7 @@ - + 0x0 @@ -43,6 +43,13 @@ diff --git a/ni_measurementlink_service/_internal/grpc_servicer.py b/ni_measurementlink_service/_internal/grpc_servicer.py index 4f567260c..c64542b05 100644 --- a/ni_measurementlink_service/_internal/grpc_servicer.py +++ b/ni_measurementlink_service/_internal/grpc_servicer.py @@ -334,8 +334,8 @@ def GetMetadata( # noqa: N802 - function name should be lowercase # Measurement Parameters measurement_signature = v2_measurement_service_pb2.MeasurementSignature( - configuration_parameters_message_type="ni.measurementlink.measurement.v1.MeasurementConfigurations", - outputs_message_type="ni.measurementlink.measurement.v1.MeasurementOutputs", + configuration_parameters_message_type="ni.measurementlink.measurement.v2.MeasurementConfigurations", + outputs_message_type="ni.measurementlink.measurement.v2.MeasurementOutputs", ) # Configurations @@ -360,6 +360,7 @@ def GetMetadata( # noqa: N802 - function name should be lowercase output_parameter.name = output_metadata.display_name output_parameter.type = output_metadata.type output_parameter.repeated = output_metadata.repeated + output_parameter.annotations.update(output_metadata.annotations) measurement_signature.outputs.append(output_parameter) # Sending back Response diff --git a/tests/acceptance/test_measurement_service.py b/tests/acceptance/test_measurement_service.py index 8f131800b..914c2026f 100644 --- a/tests/acceptance/test_measurement_service.py +++ b/tests/acceptance/test_measurement_service.py @@ -199,13 +199,17 @@ def _validate_get_metadata_response( assert get_metadata_response.measurement_details.display_name == "Sample Measurement (Py)" assert get_metadata_response.measurement_details.version == "0.1.0.0" + expected_version = "v1" + if isinstance(get_metadata_response, v2_measurement_service_pb2.GetMetadataResponse): + expected_version = "v2" + assert ( get_metadata_response.measurement_signature.configuration_parameters_message_type - == "ni.measurementlink.measurement.v1.MeasurementConfigurations" + == f"ni.measurementlink.measurement.{expected_version}.MeasurementConfigurations" ) assert ( get_metadata_response.measurement_signature.outputs_message_type - == "ni.measurementlink.measurement.v1.MeasurementOutputs" + == f"ni.measurementlink.measurement.{expected_version}.MeasurementOutputs" ) assert ( len(get_metadata_response.measurement_signature.configuration_parameters)