5037: Fix tearDown error handling in PySDK Websockets test.
[arvados.git] / sdk / python / tests / test_websockets.py
index 61fb54df225cf6c4a299314493d55b4b2134ef93..45dd28a1575f416989b42ee18cc53e35d826f3b4 100644 (file)
@@ -18,22 +18,19 @@ class EventTestBase(object):
         self.assertEqual(human['uuid'], events.get(True, 10)['object_uuid'])
         self.assertTrue(events.empty(), "got more events than expected")
 
+    def tearDown(self):
+        try:
+            self.ws.close()
+        except AttributeError:
+            pass
+        super(EventTestBase, self).tearDown()
+
 
-class WebsocketTest(run_test_server.TestCaseWithServers, EventTestBase):
+class WebsocketTest(EventTestBase, run_test_server.TestCaseWithServers):
     MAIN_SERVER = {'websockets': True}
     WS_TYPE = arvados.events.EventClient
 
-    def tearDown(self):
-        if self.ws:
-            self.ws.close()
-        super(WebsocketTest, self).tearDown()
 
-
-class PollClientTest(run_test_server.TestCaseWithServers, EventTestBase):
+class PollClientTest(EventTestBase, run_test_server.TestCaseWithServers):
     MAIN_SERVER = {}
     WS_TYPE = arvados.events.PollClient
-
-    def tearDown(self):
-        if self.ws:
-            self.ws.close()
-        super(PollClientTest, self).tearDown()