7475: Cancel jobs that cannot be satisfied instead of endlessly retry to run it.
[arvados.git] / services / nodemanager / tests / test_nodelist.py
index 8ceaca6fbe5d6908d50f04c35b2a18ab893acb37..11f41b8d9ab68458fae21aa6b86685630d8d1a3f 100644 (file)
@@ -1,4 +1,7 @@
 #!/usr/bin/env python
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
 
 from __future__ import absolute_import, print_function
 
@@ -6,6 +9,7 @@ import unittest
 import mock
 
 import arvnodeman.nodelist as nodelist
+from libcloud.compute.base import NodeSize
 from . import testutil
 
 class ArvadosNodeListMonitorActorTestCase(testutil.RemotePollLoopActorTestMixin,
@@ -66,7 +70,7 @@ class CloudNodeListMonitorActorTestCase(testutil.RemotePollLoopActorTestMixin,
             self.name = 'test{}.example.com'.format(count)
             self.private_ips = ['10.0.0.{}'.format(count)]
             self.public_ips = []
-            self.size = None
+            self.size = testutil.MockSize(1)
             self.state = 0
 
 
@@ -77,11 +81,13 @@ class CloudNodeListMonitorActorTestCase(testutil.RemotePollLoopActorTestMixin,
 
     def test_id_is_subscription_key(self):
         node = self.MockNode(1)
-        self.build_monitor([[node]])
+        mock_calc = mock.MagicMock()
+        mock_calc.find_size.return_value = testutil.MockSize(2)
+        self.build_monitor([[node]], mock_calc)
         self.monitor.subscribe_to('1', self.subscriber).get(self.TIMEOUT)
         self.stop_proxy(self.monitor)
         self.subscriber.assert_called_with(node)
-
+        self.assertEqual(testutil.MockSize(2), node.size)
 
 if __name__ == '__main__':
     unittest.main()