SIENTIAPDE-1445
Invert startTime and endTime parameters in PIWebAPIClient to ensure descending order results. Update tests to verify parameter handling and use pytest.approx for floating-point comparisons.
This commit is contained in:
@@ -287,15 +287,18 @@ class PIWebAPIClient(SientiaMonitoring):
|
||||
|
||||
# Build query parameters with WebIds (filtering out None values)
|
||||
params: list[tuple[str, str]] = [('webid', web_id['webid']) for web_id in web_ids.values()]
|
||||
# Invert startTime and endTime to get descending order (most recent first)
|
||||
# PI Web API returns descending order when endTime < startTime
|
||||
params.extend(
|
||||
[
|
||||
('startTime', start_time),
|
||||
('endtime', end_time),
|
||||
('startTime', end_time), # Use end_time as startTime (inverted)
|
||||
('endtime', start_time), # Use start_time as endTime (inverted)
|
||||
('selectedFields', 'Items.Name;Items.Items.Timestamp;Items.Items.Value'),
|
||||
]
|
||||
)
|
||||
|
||||
params.append(('maxCount', str(max_count)))
|
||||
if max_count is not None:
|
||||
params.append(('maxCount', str(max_count)))
|
||||
|
||||
data = await self._curl_get_json(
|
||||
url=url,
|
||||
|
||||
Reference in New Issue
Block a user