~bjornt/charms/trusty/swift-storage/forward-port-bug-1350049-fix

« back to all changes in this revision

Viewing changes to unit_tests/test_swift_storage_utils.py

  • Committer: Bjorn Tillenius
  • Date: 2014-10-24 14:29:07 UTC
  • Revision ID: bjorn@tillenius.me-20141024142907-pvhlnne2oijugfe8
Apply the patch from lp:~tribaal/charms/trusty/swift-storage/trunk-fix-1350049.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
    'ensure_block_device',
18
18
    'clean_storage',
19
19
    'is_block_device',
 
20
    'is_device_mounted',
20
21
    'get_os_codename_package',
21
22
    'get_os_codename_install_source',
22
23
    'unit_private_ip',
62
63
}
63
64
 
64
65
 
 
66
REAL_WORLD_PARTITIONS = """
 
67
major minor  #blocks  name
 
68
 
 
69
   8        0  117220824 sda
 
70
   8        1  117219800 sda1
 
71
   8       16  119454720 sdb
 
72
"""
 
73
 
 
74
 
65
75
class SwiftStorageUtilsTests(CharmTestCase):
66
76
 
67
77
    def setUp(self):
172
182
                                      group='swift')
173
183
        self.mount.assert_called('/dev/vdb', '/srv/node/vdb', persist=True)
174
184
 
 
185
    def _fake_is_device_mounted(self, device):
 
186
        if device in ["/dev/sda", "/dev/vda", "/dev/cciss/c0d0"]:
 
187
            return True
 
188
        else:
 
189
            return False
 
190
 
175
191
    def test_find_block_devices(self):
176
192
        self.is_block_device.return_value = True
 
193
        self.is_device_mounted.side_effect = self._fake_is_device_mounted
177
194
        with patch_open() as (_open, _file):
178
195
            _file.read.return_value = PROC_PARTITIONS
179
196
            _file.readlines = MagicMock()
182
199
        ex = ['/dev/sdb', '/dev/vdb', '/dev/cciss/c1d0']
183
200
        self.assertEquals(ex, result)
184
201
 
 
202
    def test_find_block_devices_real_world(self):
 
203
        self.is_block_device.return_value = True
 
204
        side_effect = lambda x: x in ["/dev/sda", "/dev/sda1"]
 
205
        self.is_device_mounted.side_effect = side_effect
 
206
        with patch_open() as (_open, _file):
 
207
            _file.read.return_value = REAL_WORLD_PARTITIONS
 
208
            _file.readlines = MagicMock()
 
209
            _file.readlines.return_value = REAL_WORLD_PARTITIONS.split('\n')
 
210
            result = swift_utils.find_block_devices()
 
211
        expected = ["/dev/sdb"]
 
212
        self.assertEquals(expected, result)
 
213
 
185
214
    def test_save_script_rc(self):
186
215
        self.unit_private_ip.return_value = '10.0.0.1'
187
216
        swift_utils.save_script_rc()