From ec7d97d4d259ba5acb46f8a4906cbd05d4c5d446 Mon Sep 17 00:00:00 2001 From: douxu Date: Wed, 22 Jul 2026 16:27:08 +0800 Subject: [PATCH] fix(handler): return raw measurement mode value - return the int type mode value instead of converting it to a boolean - update attribute query tests accordingly --- handler/data_object_attribute_query.go | 2 +- handler/data_object_attribute_query_test.go | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/handler/data_object_attribute_query.go b/handler/data_object_attribute_query.go index 00e4950..d4592e9 100644 --- a/handler/data_object_attribute_query.go +++ b/handler/data_object_attribute_query.go @@ -290,7 +290,7 @@ func buildMeasurementAttributeValue( } return loadValue(ctx, measurement.DataSource) case "mode": - return measurement.Mode == 1, nil + return measurement.Mode, nil case "meta": return "MEASUREMENT", nil case "type": diff --git a/handler/data_object_attribute_query_test.go b/handler/data_object_attribute_query_test.go index c8120c0..5ff9efc 100644 --- a/handler/data_object_attribute_query_test.go +++ b/handler/data_object_attribute_query_test.go @@ -214,7 +214,7 @@ func TestBuildMeasurementAttributeValue(t *testing.T) { expected any }{ {field: "value", expected: float64(220)}, - {field: "mode", expected: true}, + {field: "mode", expected: int16(1)}, {field: "meta", expected: "MEASUREMENT"}, {field: "type", expected: "TM"}, {field: "name", expected: "110kV_TV.IA_rms"}, @@ -252,12 +252,12 @@ func TestBuildMeasurementAttributeValueMode(t *testing.T) { tests := []struct { name string mode int16 - expected bool + expected int16 }{ - {name: "automatic mode", mode: 1, expected: true}, - {name: "manual mode", mode: 0, expected: false}, - {name: "other positive mode", mode: 2, expected: false}, - {name: "negative mode", mode: -1, expected: false}, + {name: "collected value", mode: 1, expected: 1}, + {name: "manually assigned value", mode: 0, expected: 0}, + {name: "other positive mode", mode: 2, expected: 2}, + {name: "negative mode", mode: -1, expected: -1}, } for _, tt := range tests {