Loading src/webui/requirements.in +1 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,4 @@ prometheus-client pytest pytest-benchmark lorem-text redis src/webui/service/device/routes.py +17 −15 Original line number Diff line number Diff line Loading @@ -9,14 +9,16 @@ from webui.proto.context_pb2 import (ContextId, DeviceList, DeviceId, from webui.service.device.forms import AddDeviceForm device = Blueprint('device', __name__, url_prefix='/device') context_client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) device_client: DeviceClient = DeviceClient(DEVICE_SERVICE_ADDRESS, DEVICE_SERVICE_PORT) @device.get('/') def home(): request: ContextId = ContextId() request.context_uuid.uuid = session['context_uuid'] client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) response: DeviceList = client.ListDevices(request) client.close() context_client.connect() response: DeviceList = context_client.ListDevices(request) context_client.close() return render_template('device/home.html', devices=response.devices, dde=DeviceDriverEnum, dose=DeviceOperationalStatusEnum) Loading @@ -27,9 +29,9 @@ def add(): request: ContextId = ContextId() request.context_uuid.uuid = session['context_uuid'] client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) response: TopologyIdList = client.ListTopologyIds(request) client.close() context_client.connect() response: TopologyIdList = context_client.ListTopologyIds(request) context_client.close() # listing enum values form.operational_status.choices = [(-1, 'Select...')] Loading Loading @@ -73,9 +75,9 @@ def add(): continue device.device_drivers.extend([int(driver)]) try: client: DeviceClient = DeviceClient(DEVICE_SERVICE_ADDRESS, DEVICE_SERVICE_PORT) response: DeviceId = client.AddDevice(device) client.close() device_client.connect() response: DeviceId = device_client.AddDevice(device) device_client.close() flash(f'New device was created with ID "{response.device_uuid.uuid}".', 'success') return redirect('/device/') Loading @@ -90,15 +92,14 @@ def add(): def detail(device_uuid: str): request: DeviceId = DeviceId() request.device_uuid.uuid = device_uuid client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) response: Device = client.GetDevice(request) client.close() context_client.connect() response: Device = context_client.GetDevice(request) context_client.close() return render_template('device/detail.html', device=response) @device.get('<device_uuid>/delete') def delete(device_uuid): try: client: DeviceClient = DeviceClient(DEVICE_SERVICE_ADDRESS, DEVICE_SERVICE_PORT) # first, check if device exists! # request: DeviceId = DeviceId() Loading @@ -108,9 +109,10 @@ def delete(device_uuid): request: DeviceId = DeviceId() request.device_uuid.uuid = device_uuid response = client.DeleteDevice(request) device_client.connect() response = device_client.DeleteDevice(request) client.close() device_client.close() flash('Device deleted successfully!', 'success') except Exception as e: Loading src/webui/tests/test_unitary.py +15 −7 Original line number Diff line number Diff line import pytest from unittest import mock from flask.app import Flask from flask.helpers import url_for # from device.client.DeviceClient import DeviceClient from webui.service import create_app from webui.proto.context_pb2 import Empty from webui.proto.context_pb2 import Empty, DeviceId, DeviceList # @pytest.fixture(scope='session') # def device_client(device_service): Loading Loading @@ -95,11 +96,18 @@ def test_device_add_action(client): 'device_drivers': 0, 'device_endpoints': [], } with mock.patch('webui.service.device.routes.device_client.AddDevice') as mocked_add: mocked_add.return_value = DeviceId() rw = client.post('/device/add', data=DEVICE_EMU, follow_redirects=True) assert b'success' in rw.data # def test_device_delete_action(client): # with client.session_transaction() as sess: # sess['context_uuid'] = 'admin' # rw = client.get('/device/EMULATED/delete') # assert b'success' in rw.data def test_device_delete_action(client): with client.session_transaction() as sess: sess['context_uuid'] = 'admin' with mock.patch('webui.service.device.routes.device_client.DeleteDevice') as mocked_delete,\ mock.patch('webui.service.device.routes.context_client.ListDevices') as mocked_list: mocked_list.return_value = DeviceList() # returns an empty list rw = client.get('/device/EMULATED/delete', follow_redirects=True) mocked_list.assert_called() mocked_delete.assert_called() assert b'success' in rw.data Loading
src/webui/requirements.in +1 −0 Original line number Diff line number Diff line Loading @@ -7,3 +7,4 @@ prometheus-client pytest pytest-benchmark lorem-text redis
src/webui/service/device/routes.py +17 −15 Original line number Diff line number Diff line Loading @@ -9,14 +9,16 @@ from webui.proto.context_pb2 import (ContextId, DeviceList, DeviceId, from webui.service.device.forms import AddDeviceForm device = Blueprint('device', __name__, url_prefix='/device') context_client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) device_client: DeviceClient = DeviceClient(DEVICE_SERVICE_ADDRESS, DEVICE_SERVICE_PORT) @device.get('/') def home(): request: ContextId = ContextId() request.context_uuid.uuid = session['context_uuid'] client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) response: DeviceList = client.ListDevices(request) client.close() context_client.connect() response: DeviceList = context_client.ListDevices(request) context_client.close() return render_template('device/home.html', devices=response.devices, dde=DeviceDriverEnum, dose=DeviceOperationalStatusEnum) Loading @@ -27,9 +29,9 @@ def add(): request: ContextId = ContextId() request.context_uuid.uuid = session['context_uuid'] client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) response: TopologyIdList = client.ListTopologyIds(request) client.close() context_client.connect() response: TopologyIdList = context_client.ListTopologyIds(request) context_client.close() # listing enum values form.operational_status.choices = [(-1, 'Select...')] Loading Loading @@ -73,9 +75,9 @@ def add(): continue device.device_drivers.extend([int(driver)]) try: client: DeviceClient = DeviceClient(DEVICE_SERVICE_ADDRESS, DEVICE_SERVICE_PORT) response: DeviceId = client.AddDevice(device) client.close() device_client.connect() response: DeviceId = device_client.AddDevice(device) device_client.close() flash(f'New device was created with ID "{response.device_uuid.uuid}".', 'success') return redirect('/device/') Loading @@ -90,15 +92,14 @@ def add(): def detail(device_uuid: str): request: DeviceId = DeviceId() request.device_uuid.uuid = device_uuid client: ContextClient = ContextClient(CONTEXT_SERVICE_ADDRESS, CONTEXT_SERVICE_PORT) response: Device = client.GetDevice(request) client.close() context_client.connect() response: Device = context_client.GetDevice(request) context_client.close() return render_template('device/detail.html', device=response) @device.get('<device_uuid>/delete') def delete(device_uuid): try: client: DeviceClient = DeviceClient(DEVICE_SERVICE_ADDRESS, DEVICE_SERVICE_PORT) # first, check if device exists! # request: DeviceId = DeviceId() Loading @@ -108,9 +109,10 @@ def delete(device_uuid): request: DeviceId = DeviceId() request.device_uuid.uuid = device_uuid response = client.DeleteDevice(request) device_client.connect() response = device_client.DeleteDevice(request) client.close() device_client.close() flash('Device deleted successfully!', 'success') except Exception as e: Loading
src/webui/tests/test_unitary.py +15 −7 Original line number Diff line number Diff line import pytest from unittest import mock from flask.app import Flask from flask.helpers import url_for # from device.client.DeviceClient import DeviceClient from webui.service import create_app from webui.proto.context_pb2 import Empty from webui.proto.context_pb2 import Empty, DeviceId, DeviceList # @pytest.fixture(scope='session') # def device_client(device_service): Loading Loading @@ -95,11 +96,18 @@ def test_device_add_action(client): 'device_drivers': 0, 'device_endpoints': [], } with mock.patch('webui.service.device.routes.device_client.AddDevice') as mocked_add: mocked_add.return_value = DeviceId() rw = client.post('/device/add', data=DEVICE_EMU, follow_redirects=True) assert b'success' in rw.data # def test_device_delete_action(client): # with client.session_transaction() as sess: # sess['context_uuid'] = 'admin' # rw = client.get('/device/EMULATED/delete') # assert b'success' in rw.data def test_device_delete_action(client): with client.session_transaction() as sess: sess['context_uuid'] = 'admin' with mock.patch('webui.service.device.routes.device_client.DeleteDevice') as mocked_delete,\ mock.patch('webui.service.device.routes.context_client.ListDevices') as mocked_list: mocked_list.return_value = DeviceList() # returns an empty list rw = client.get('/device/EMULATED/delete', follow_redirects=True) mocked_list.assert_called() mocked_delete.assert_called() assert b'success' in rw.data