docs: add docstrings, improve pylint score

This commit is contained in:
appel_c 2023-11-21 12:56:12 +01:00
parent 4e7f1b5593
commit 5874466704

View File

@ -5,6 +5,8 @@ from unittest import mock
class SocketMock: class SocketMock:
"""Socket Mock. Used for testing"""
def __init__(self, host, port): def __init__(self, host, port):
self.host = host self.host = host
self.port = port self.port = port
@ -14,13 +16,16 @@ class SocketMock:
self.open() self.open()
def connect(self): def connect(self):
"""Mock connect method"""
print(f"connecting to {self.host} port {self.port}") print(f"connecting to {self.host} port {self.port}")
def _put(self, msg_bytes): def _put(self, msg_bytes):
"""Mock put method"""
self.buffer_put.append(msg_bytes) self.buffer_put.append(msg_bytes)
print(self.buffer_put) print(self.buffer_put)
def _recv(self, buffer_length=1024): def _recv(self, buffer_length=1024):
"""Mock receive method"""
print(self.buffer_recv) print(self.buffer_recv)
if isinstance(self.buffer_recv, list): if isinstance(self.buffer_recv, list):
if len(self.buffer_recv) > 0: if len(self.buffer_recv) > 0:
@ -31,23 +36,29 @@ class SocketMock:
return self.buffer_recv return self.buffer_recv
def _initialize_socket(self): def _initialize_socket(self):
pass """Mock initialize socket method"""
def put(self, msg): def put(self, msg):
"""Mock put method"""
return self._put(msg) return self._put(msg)
def receive(self, buffer_length=1024): def receive(self, buffer_length=1024):
"""Mock receive method"""
return self._recv(buffer_length=buffer_length) return self._recv(buffer_length=buffer_length)
def open(self): def open(self):
"""Mock open method"""
self._initialize_socket() self._initialize_socket()
self.is_open = True self.is_open = True
def close(self): def close(self):
"""Mock close method"""
# pylint disable=attribute-defined-outside-init
self.sock = None self.sock = None
self.is_open = False self.is_open = False
def flush_buffer(self): def flush_buffer(self):
"""Mock flush buffer method"""
self.buffer_put = [] self.buffer_put = []
self.buffer_recv = "" self.buffer_recv = ""
@ -154,14 +165,18 @@ class MockPV:
acc_cb(True, True, pv=self) acc_cb(True, True, pv=self)
def wait_for_connection(self, timeout=None): def wait_for_connection(self, timeout=None):
"""Wait for connection"""
return self.connected return self.connected
def get_all_metadata_blocking(self, timeout): def get_all_metadata_blocking(self, timeout):
"""Get all metadata blocking"""
md = self._args.copy() md = self._args.copy()
md.pop("value", None) md.pop("value", None)
return md return md
def get_all_metadata_callback(self, callback, *, timeout): def get_all_metadata_callback(self, callback, *, timeout):
"""Get all metadata callback"""
def get_metadata_thread(pvname): def get_metadata_thread(pvname):
md = self.get_all_metadata_blocking(timeout=timeout) md = self.get_all_metadata_blocking(timeout=timeout)
callback(pvname, md) callback(pvname, md)
@ -171,11 +186,13 @@ class MockPV:
def put( def put(
self, value, wait=False, timeout=None, use_complete=False, callback=None, callback_data=None self, value, wait=False, timeout=None, use_complete=False, callback=None, callback_data=None
): ):
"""MOCK PV, put function"""
self.mock_data = value self.mock_data = value
if callback is not None: if callback is not None:
callback(None, None, None) callback(None, None, None)
def add_callback(self, callback=None, index=None, run_now=False, with_ctrlvars=True, **kw): def add_callback(self, callback=None, index=None, run_now=False, with_ctrlvars=True, **kw):
"""Add callback"""
return mock.MagicMock() return mock.MagicMock()
def get_with_metadata( def get_with_metadata(
@ -189,6 +206,7 @@ class MockPV:
use_monitor=True, use_monitor=True,
as_namespace=False, as_namespace=False,
): ):
"""Get MOCKPV data together with metadata"""
return {"value": self.mock_data} return {"value": self.mock_data}
def get( def get(
@ -200,6 +218,7 @@ class MockPV:
with_ctrlvars=False, with_ctrlvars=False,
use_monitor=True, use_monitor=True,
): ):
"""Get value from MOCKPV"""
data = self.get_with_metadata( data = self.get_with_metadata(
count=count, count=count,
as_string=as_string, as_string=as_string,
@ -230,33 +249,41 @@ class DeviceMock:
self._enabled = True self._enabled = True
def read(self): def read(self):
"""Read method for DeviceMock"""
return {self.name: {"value": self.read_buffer}} return {self.name: {"value": self.read_buffer}}
def readback(self): def readback(self):
"""Readback method for DeviceMock"""
return self.read_buffer return self.read_buffer
@property @property
def enabled_set(self) -> bool: def enabled_set(self) -> bool:
"""enabled_set property"""
return self._enabled_set return self._enabled_set
@enabled_set.setter @enabled_set.setter
def enabled_set(self, val: bool): def enabled_set(self, val: bool):
"""enabled_set setter"""
self._enabled_set = val self._enabled_set = val
@property @property
def enabled(self) -> bool: def enabled(self) -> bool:
"""enabled property"""
return self._enabled return self._enabled
@enabled.setter @enabled.setter
def enabled(self, val: bool): def enabled(self, val: bool):
"""enabled setter"""
self._enabled = val self._enabled = val
@property @property
def user_parameter(self): def user_parameter(self):
"""user_parameter property"""
return self._config["userParameter"] return self._config["userParameter"]
@property @property
def obj(self): def obj(self):
"""obj property"""
return self return self
@ -272,6 +299,7 @@ class DMMock:
self.producer = ProducerMock() self.producer = ProducerMock()
def add_device(self, name: str, value: float = 0.0): def add_device(self, name: str, value: float = 0.0):
"""Add device to the DeviceManagerMock"""
self.devices[name] = DeviceMock(name, value) self.devices[name] = DeviceMock(name, value)