From cd6fbdafcc200b34eaaae8fbc00dad0b37e05d94 Mon Sep 17 00:00:00 2001
From: thijs snijder <snijder@astron.nl>
Date: Tue, 27 Sep 2022 11:35:28 +0200
Subject: [PATCH] added unit test for docker device

---
 .../test/devices/test_device_docker.py        | 47 +++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 tangostationcontrol/tangostationcontrol/test/devices/test_device_docker.py

diff --git a/tangostationcontrol/tangostationcontrol/test/devices/test_device_docker.py b/tangostationcontrol/tangostationcontrol/test/devices/test_device_docker.py
new file mode 100644
index 000000000..1fbfbb131
--- /dev/null
+++ b/tangostationcontrol/tangostationcontrol/test/devices/test_device_docker.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+#
+# This file is part of the LOFAR 2.0 Station Software
+#
+#
+#
+# Distributed under the terms of the APACHE license.
+# See LICENSE.txt for more info.
+
+from tango.test_context import DeviceTestContext
+
+from tangostationcontrol.devices import docker_device
+
+import numpy
+
+from tangostationcontrol.test.devices import device_base
+
+
+class TestDockerDevice(device_base.DeviceTestCase):
+
+    DOCKER_PROPERTIES = {'Docker_Base_URL': "unix:///var/run/docker.sock"}
+
+    def setUp(self):
+        # DeviceTestCase setUp patches lofar_device DeviceProxy
+        super(TestDockerDevice, self).setUp()
+
+
+    def test_read(self):
+        """Test whether the device-docker container is running"""
+        with DeviceTestContext(docker_device.Docker, properties=self.DOCKER_PROPERTIES, process=True) as proxy:
+            self.assertEqual(proxy.device_docker_R, True)
+
+    def test_toggle(self):
+        """
+        Test turning off and on a running docker container
+        """
+        with DeviceTestContext(docker_device.Docker, properties=self.DOCKER_PROPERTIES, process=True) as proxy:
+            # Turn the recv container off and check that it is indeed turned off
+            proxy.device_recv_RW = False
+            self.assertEqual(self.device_recv_R, False)
+
+            # Turn the recv container on and check that it is indeed turned on
+            proxy.device_recv_RW = True
+            self.assertEqual(self.device_recv_R, True)
+
+
+
-- 
GitLab