[DEV] add a timeout in the mock of karanage connection
This commit is contained in:
parent
f95621f6bb
commit
03c8b0fc13
@ -11,6 +11,7 @@ from abc import ABC, abstractmethod
|
||||
import copy
|
||||
import enum
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
from pathlib import Path
|
||||
from typing import (
|
||||
Dict,
|
||||
@ -18,7 +19,7 @@ from typing import (
|
||||
NamedTuple,
|
||||
Optional,
|
||||
)
|
||||
|
||||
import time
|
||||
import requests
|
||||
|
||||
|
||||
@ -240,15 +241,24 @@ class KaranageMock(KaranageConnectionInterface):
|
||||
self.request.append(MockData("GET", service, url_offset, None, headers, params))
|
||||
return KaranageResponse(f"{service}/{url_offset}", 200, "{}")
|
||||
|
||||
def get_values(self) -> List[KaranageResponse]:
|
||||
def get_values(self, time_out: Optional[float] = None) -> List[KaranageResponse]:
|
||||
"""get the list of last added values
|
||||
|
||||
:param time_out: Timeout before exiting in error
|
||||
:returns: all collected values.
|
||||
"""
|
||||
if time_out is not None and time_out > 0:
|
||||
start_time = datetime.now()
|
||||
while len(self.request) == 0:
|
||||
time.sleep(0.1)
|
||||
now = datetime.now()
|
||||
if now - start_time > timedelta(seconds=time_out):
|
||||
return []
|
||||
out = self.request
|
||||
self.request = []
|
||||
return out
|
||||
|
||||
|
||||
def clear_values(self) -> None:
|
||||
"""Clear all the received data."""
|
||||
self.request = []
|
||||
|
Loading…
Reference in New Issue
Block a user