Check image-list output in cmd tests
We are performing smoke tests for image update commands now. Lets also assert their effects on the image-list command. Change-Id: I322845e159e81315b1b5f75cbb998d4c795793c4
This commit is contained in:
parent
74ef962fbe
commit
b3090b525b
|
@ -16,6 +16,7 @@
|
||||||
import sys # noqa making sure its available for monkey patching
|
import sys # noqa making sure its available for monkey patching
|
||||||
|
|
||||||
import fixtures
|
import fixtures
|
||||||
|
import mock
|
||||||
|
|
||||||
from nodepool.cmd import nodepoolcmd
|
from nodepool.cmd import nodepoolcmd
|
||||||
from nodepool import tests
|
from nodepool import tests
|
||||||
|
@ -27,17 +28,34 @@ class TestNodepoolCMD(tests.DBTestCase):
|
||||||
argv.extend(args)
|
argv.extend(args)
|
||||||
self.useFixture(fixtures.MonkeyPatch('sys.argv', argv))
|
self.useFixture(fixtures.MonkeyPatch('sys.argv', argv))
|
||||||
|
|
||||||
|
def assert_images_listed(self, configfile, image_cnt, status="ready"):
|
||||||
|
self.patch_argv("-c", configfile, "image-list")
|
||||||
|
with mock.patch('prettytable.PrettyTable.add_row') as m_add_row:
|
||||||
|
nodepoolcmd.main()
|
||||||
|
images_with_status = 0
|
||||||
|
# Find add_rows with the status were looking for
|
||||||
|
for args, kwargs in m_add_row.call_args_list:
|
||||||
|
row = args[0]
|
||||||
|
status_column = 7
|
||||||
|
if row[status_column] == status:
|
||||||
|
images_with_status += 1
|
||||||
|
self.assertEquals(images_with_status, image_cnt)
|
||||||
|
|
||||||
def test_snapshot_image_update(self):
|
def test_snapshot_image_update(self):
|
||||||
configfile = self.setup_config("node.yaml")
|
configfile = self.setup_config("node.yaml")
|
||||||
self.patch_argv("-c", configfile, "image-update",
|
self.patch_argv("-c", configfile, "image-update",
|
||||||
"fake-provider", "fake-image")
|
"fake-provider", "fake-image")
|
||||||
nodepoolcmd.main()
|
nodepoolcmd.main()
|
||||||
|
self.wait_for_threads()
|
||||||
|
self.assert_images_listed(configfile, 1)
|
||||||
|
|
||||||
def test_dib_image_update(self):
|
def test_dib_image_update(self):
|
||||||
configfile = self.setup_config("node_dib.yaml")
|
configfile = self.setup_config("node_dib.yaml")
|
||||||
self.patch_argv("-c", configfile, "image-update",
|
self.patch_argv("-c", configfile, "image-update",
|
||||||
"fake-dib-provider", "fake-dib-image")
|
"fake-dib-provider", "fake-dib-image")
|
||||||
nodepoolcmd.main()
|
nodepoolcmd.main()
|
||||||
|
self.wait_for_threads()
|
||||||
|
self.assert_images_listed(configfile, 1)
|
||||||
|
|
||||||
def test_dib_snapshot_image_update(self):
|
def test_dib_snapshot_image_update(self):
|
||||||
configfile = self.setup_config("node_dib_and_snap.yaml")
|
configfile = self.setup_config("node_dib_and_snap.yaml")
|
||||||
|
@ -47,15 +65,24 @@ class TestNodepoolCMD(tests.DBTestCase):
|
||||||
self.patch_argv("-c", configfile, "image-update",
|
self.patch_argv("-c", configfile, "image-update",
|
||||||
"fake-provider2", "fake-dib-image")
|
"fake-provider2", "fake-dib-image")
|
||||||
nodepoolcmd.main()
|
nodepoolcmd.main()
|
||||||
|
self.wait_for_threads()
|
||||||
|
self.assert_images_listed(configfile, 2)
|
||||||
|
|
||||||
def test_dib_snapshot_image_update_all(self):
|
def test_dib_snapshot_image_update_all(self):
|
||||||
configfile = self.setup_config("node_dib_and_snap.yaml")
|
configfile = self.setup_config("node_dib_and_snap.yaml")
|
||||||
self.patch_argv("-c", configfile, "image-update",
|
self.patch_argv("-c", configfile, "image-update",
|
||||||
"all", "fake-dib-image")
|
"all", "fake-dib-image")
|
||||||
nodepoolcmd.main()
|
nodepoolcmd.main()
|
||||||
|
self.wait_for_threads()
|
||||||
|
self.assert_images_listed(configfile, 2)
|
||||||
|
|
||||||
def test_image_update_all(self):
|
def test_image_update_all(self):
|
||||||
configfile = self.setup_config("node_cmd.yaml")
|
configfile = self.setup_config("node_cmd.yaml")
|
||||||
self.patch_argv("-c", configfile, "image-update",
|
self.patch_argv("-c", configfile, "image-update",
|
||||||
"all", "fake-image1")
|
"all", "fake-image1")
|
||||||
nodepoolcmd.main()
|
nodepoolcmd.main()
|
||||||
|
self.wait_for_threads()
|
||||||
|
self.assert_images_listed(configfile, 1)
|
||||||
|
|
||||||
|
def test_image_list_empty(self):
|
||||||
|
self.assert_images_listed(self.setup_config("node_cmd.yaml"), 0)
|
||||||
|
|
|
@ -5,6 +5,7 @@ sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
|
||||||
sphinxcontrib-programoutput
|
sphinxcontrib-programoutput
|
||||||
discover
|
discover
|
||||||
fixtures>=0.3.12
|
fixtures>=0.3.12
|
||||||
|
mock>=1.0
|
||||||
python-subunit
|
python-subunit
|
||||||
testrepository>=0.0.13
|
testrepository>=0.0.13
|
||||||
testresources
|
testresources
|
||||||
|
|
Loading…
Reference in New Issue