diff --git a/daliuge-engine/test/manager/test_mm.py b/daliuge-engine/test/manager/test_mm.py index 0b2a263cc..acc5c3b0d 100644 --- a/daliuge-engine/test/manager/test_mm.py +++ b/daliuge-engine/test/manager/test_mm.py @@ -34,6 +34,7 @@ from dlg.manager.composite_manager import MasterManager from dlg.manager.session import SessionStates from dlg.testutils import ManagerStarter +from dlg.exceptions import NoSessionException from test.manager import testutils @@ -272,3 +273,11 @@ def test_fullRound(self): testutils.delete(self, '/sessions/%s' % (sessionId), restPort) sessions = testutils.get(self, '/sessions', restPort) self.assertEqual(0, len(sessions)) + + # Check log should not exist + resp, _ = testutils._get('/sessions/not_exist/logs', 8000) + self.assertEqual(resp.status, 404) + + # Check logs exist and there is content + resp, _ = testutils._get('/sessions/{sessionId}/logs', restPort) + self.assertGreater(int(resp.getheader('Content-Length')), 0) diff --git a/daliuge-engine/test/manager/testutils.py b/daliuge-engine/test/manager/testutils.py index 64d5f0469..8da70bc6b 100644 --- a/daliuge-engine/test/manager/testutils.py +++ b/daliuge-engine/test/manager/testutils.py @@ -25,11 +25,13 @@ from dlg import utils import codecs - -def get(test, url, port): +def _get(url, port): conn = http.client.HTTPConnection('localhost', port, timeout=3) conn.request('GET', '/api' + url) - res = conn.getresponse() + return conn.getresponse(), conn + +def get(test, url, port): + res, conn = _get(url, port) test.assertEqual(http.HTTPStatus.OK, res.status) jsonRes = json.load(codecs.getreader('utf-8')(res)) res.close()