From: Peter Amstutz Date: Tue, 14 Feb 2017 21:01:21 +0000 (-0500) Subject: 6520: Add testcase getting wishlist from squeue. X-Git-Tag: 1.1.0~414^2~8 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/bf9af31f49954d949317475bdcdc0694d247f82d?hp=4440f049a94bd3570271f8f0b2461d7f3f3c4582 6520: Add testcase getting wishlist from squeue. --- diff --git a/services/nodemanager/tests/test_jobqueue.py b/services/nodemanager/tests/test_jobqueue.py index d4dc42f139..b1bf3f605f 100644 --- a/services/nodemanager/tests/test_jobqueue.py +++ b/services/nodemanager/tests/test_jobqueue.py @@ -3,6 +3,7 @@ from __future__ import absolute_import, print_function import unittest +import mock import arvnodeman.jobqueue as jobqueue from . import testutil @@ -121,13 +122,29 @@ class JobQueueMonitorActorTestCase(testutil.RemotePollLoopActorTestMixin, super(JobQueueMonitorActorTestCase, self).build_monitor(*args, **kwargs) self.client.jobs().queue().execute.side_effect = side_effect - def test_subscribers_get_server_lists(self): + @mock.patch("subprocess.check_output") + def test_subscribers_get_server_lists(self, mock_squeue): + mock_squeue.return_value = "" + self.build_monitor([{'items': [1, 2]}], self.MockCalculator()) self.monitor.subscribe(self.subscriber).get(self.TIMEOUT) self.stop_proxy(self.monitor) self.subscriber.assert_called_with([testutil.MockSize(1), testutil.MockSize(2)]) + @mock.patch("subprocess.check_output") + def test_squeue_server_list(self, mock_squeue): + mock_squeue.return_value = """1 0 0 Resources zzzzz-zzzzz-zzzzzzzzzzzzzzy +2 0 0 Resources zzzzz-zzzzz-zzzzzzzzzzzzzzz +""" + + super(JobQueueMonitorActorTestCase, self).build_monitor(jobqueue.ServerCalculator( + [(testutil.MockSize(n), {'cores': n, 'ram': n, 'scratch': n}) for n in range(1, 3)])) + self.monitor.subscribe(self.subscriber).get(self.TIMEOUT) + self.stop_proxy(self.monitor) + self.subscriber.assert_called_with([testutil.MockSize(1), + testutil.MockSize(2)]) + if __name__ == '__main__': unittest.main()