Merge lp:~oddbloke/cloud-init/lp-1311463 into lp:~cloud-init-dev/cloud-init/trunk

Proposed by Dan Watkins
Status: Merged
Merged at revision: 1100
Proposed branch: lp:~oddbloke/cloud-init/lp-1311463
Merge into: lp:~cloud-init-dev/cloud-init/trunk
Diff against target: 48 lines (+31/-2)
2 files modified
cloudinit/config/cc_disk_setup.py (+1/-2)
tests/unittests/test_handler/test_handler_disk_setup.py (+30/-0)
To merge this branch: bzr merge lp:~oddbloke/cloud-init/lp-1311463
Reviewer Review Type Date Requested Status
Joshua Harlow (community) Approve
Review via email: mp+253362@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Joshua Harlow (harlowja) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'cloudinit/config/cc_disk_setup.py'
2--- cloudinit/config/cc_disk_setup.py 2015-02-13 21:04:03 +0000
3+++ cloudinit/config/cc_disk_setup.py 2015-03-18 13:40:36 +0000
4@@ -304,8 +304,7 @@
5
6 # If the child count is higher 1, then there are child nodes
7 # such as partition or device mapper nodes
8- use_count = [x for x in enumerate_disk(device)]
9- if len(use_count.splitlines()) > 1:
10+ if len(list(enumerate_disk(device))) > 1:
11 return True
12
13 # If we see a file system, then its used
14
15=== added file 'tests/unittests/test_handler/test_handler_disk_setup.py'
16--- tests/unittests/test_handler/test_handler_disk_setup.py 1970-01-01 00:00:00 +0000
17+++ tests/unittests/test_handler/test_handler_disk_setup.py 2015-03-18 13:40:36 +0000
18@@ -0,0 +1,30 @@
19+from cloudinit.config import cc_disk_setup
20+from ..helpers import ExitStack, mock, TestCase
21+
22+
23+class TestIsDiskUsed(TestCase):
24+
25+ def setUp(self):
26+ super(TestIsDiskUsed, self).setUp()
27+ self.patches = ExitStack()
28+ mod_name = 'cloudinit.config.cc_disk_setup'
29+ self.enumerate_disk = self.patches.enter_context(
30+ mock.patch('{0}.enumerate_disk'.format(mod_name)))
31+ self.check_fs = self.patches.enter_context(
32+ mock.patch('{0}.check_fs'.format(mod_name)))
33+
34+ def test_multiple_child_nodes_returns_true(self):
35+ self.enumerate_disk.return_value = (mock.MagicMock() for _ in range(2))
36+ self.check_fs.return_value = (mock.MagicMock(), None, mock.MagicMock())
37+ self.assertTrue(cc_disk_setup.is_disk_used(mock.MagicMock()))
38+
39+ def test_valid_filesystem_returns_true(self):
40+ self.enumerate_disk.return_value = (mock.MagicMock() for _ in range(1))
41+ self.check_fs.return_value = (
42+ mock.MagicMock(), 'ext4', mock.MagicMock())
43+ self.assertTrue(cc_disk_setup.is_disk_used(mock.MagicMock()))
44+
45+ def test_one_child_nodes_and_no_fs_returns_false(self):
46+ self.enumerate_disk.return_value = (mock.MagicMock() for _ in range(1))
47+ self.check_fs.return_value = (mock.MagicMock(), None, mock.MagicMock())
48+ self.assertFalse(cc_disk_setup.is_disk_used(mock.MagicMock()))