diff options
Diffstat (limited to 'glance_store/tests')
-rw-r--r-- | glance_store/tests/unit/cinder/test_base.py | 6 | ||||
-rw-r--r-- | glance_store/tests/unit/cinder/test_cinder_base.py | 34 | ||||
-rw-r--r-- | glance_store/tests/unit/cinder/test_cinder_store.py | 3 | ||||
-rw-r--r-- | glance_store/tests/unit/cinder/test_multistore_cinder.py | 3 | ||||
-rw-r--r-- | glance_store/tests/unit/cinder/test_nfs.py | 3 | ||||
-rw-r--r-- | glance_store/tests/unit/test_opts.py | 1 |
6 files changed, 41 insertions, 9 deletions
diff --git a/glance_store/tests/unit/cinder/test_base.py b/glance_store/tests/unit/cinder/test_base.py index cc57f56..488cf1a 100644 --- a/glance_store/tests/unit/cinder/test_base.py +++ b/glance_store/tests/unit/cinder/test_base.py @@ -104,6 +104,12 @@ class TestBaseBrickConnectorInterface(test_base.StoreBaseTest): self.connector.conn.disconnect_volume.assert_called_once_with( self.connection_info, fake_device) + def test_extend_volume(self): + self.mock_object(self.connector.conn, 'extend_volume') + self.connector.extend_volume() + self.connector.conn.extend_volume.assert_called_once_with( + self.connection_info) + def test_yield_path(self): fake_vol = mock.MagicMock() fake_device = 'fake_dev_path' diff --git a/glance_store/tests/unit/cinder/test_cinder_base.py b/glance_store/tests/unit/cinder/test_cinder_base.py index d94782f..acdb70b 100644 --- a/glance_store/tests/unit/cinder/test_cinder_base.py +++ b/glance_store/tests/unit/cinder/test_cinder_base.py @@ -582,7 +582,7 @@ class TestCinderStoreBase(object): fake_image_id, image_file, expected_size, self.hash_algo, self.context, None) - def _test_cinder_add_extend(self, is_multi_store=False): + def _test_cinder_add_extend(self, is_multi_store=False, online=False): expected_volume_size = 2 * units.Gi expected_multihash = 'fake_hash' @@ -619,6 +619,11 @@ class TestCinderStoreBase(object): backend = 'cinder1' expected_location = 'cinder://%s/%s' % (backend, fake_volume.id) self.config(cinder_volume_type='some_type', group=backend) + if online: + self.config(cinder_do_extend_attached=True, group=backend) + fake_connector = mock.MagicMock() + fake_vol_connector_map = {expected_volume_id: fake_connector} + self.store.volume_connector_map = fake_vol_connector_map fake_client = mock.MagicMock(auth_token=None, management_url=None) fake_volume.manager.get.return_value = fake_volume @@ -635,9 +640,12 @@ class TestCinderStoreBase(object): side_effect=fake_open), \ mock.patch.object(cinder.utils, 'get_hasher') as fake_hasher, \ mock.patch.object(cinder.Store, '_wait_volume_status', - return_value=fake_volume) as mock_wait: - mock_cc.return_value = mock.MagicMock(client=fake_client, - volumes=fake_volumes) + return_value=fake_volume) as mock_wait, \ + mock.patch.object(cinder_utils.API, + 'extend_volume') as extend_vol: + mock_cc_return_val = mock.MagicMock(client=fake_client, + volumes=fake_volumes) + mock_cc.return_value = mock_cc_return_val fake_hasher.side_effect = get_fake_hash loc, size, checksum, multihash, metadata = self.store.add( @@ -656,11 +664,19 @@ class TestCinderStoreBase(object): volume_type='some_type') if is_multi_store: self.assertEqual(backend, metadata["store"]) - fake_volume.extend.assert_called_once_with( - fake_volume, expected_volume_size // units.Gi) - mock_wait.assert_has_calls( - [mock.call(fake_volume, 'creating', 'available'), - mock.call(fake_volume, 'extending', 'available')]) + if online: + extend_vol.assert_called_once_with( + mock_cc_return_val, fake_volume, + expected_volume_size // units.Gi) + mock_wait.assert_has_calls( + [mock.call(fake_volume, 'creating', 'available'), + mock.call(fake_volume, 'extending', 'in-use')]) + else: + fake_volume.extend.assert_called_once_with( + fake_volume, expected_volume_size // units.Gi) + mock_wait.assert_has_calls( + [mock.call(fake_volume, 'creating', 'available'), + mock.call(fake_volume, 'extending', 'available')]) def test_cinder_add_extend_storage_full(self): diff --git a/glance_store/tests/unit/cinder/test_cinder_store.py b/glance_store/tests/unit/cinder/test_cinder_store.py index a2b5af7..184acde 100644 --- a/glance_store/tests/unit/cinder/test_cinder_store.py +++ b/glance_store/tests/unit/cinder/test_cinder_store.py @@ -138,6 +138,9 @@ class TestCinderStore(base.StoreBaseTest, def test_cinder_add_extend(self): self._test_cinder_add_extend() + def test_cinder_add_extend_online(self): + self._test_cinder_add_extend(online=True) + def test_cinder_delete(self): self._test_cinder_delete() diff --git a/glance_store/tests/unit/cinder/test_multistore_cinder.py b/glance_store/tests/unit/cinder/test_multistore_cinder.py index 01b27f2..f40965b 100644 --- a/glance_store/tests/unit/cinder/test_multistore_cinder.py +++ b/glance_store/tests/unit/cinder/test_multistore_cinder.py @@ -276,6 +276,9 @@ class TestMultiCinderStore(base.MultiStoreBaseTest, def test_cinder_add_extend(self): self._test_cinder_add_extend(is_multi_store=True) + def test_cinder_add_extend_online(self): + self._test_cinder_add_extend(is_multi_store=True, online=True) + def test_cinder_delete(self): self._test_cinder_delete(is_multi_store=True) diff --git a/glance_store/tests/unit/cinder/test_nfs.py b/glance_store/tests/unit/cinder/test_nfs.py index d0f7d91..aa040ce 100644 --- a/glance_store/tests/unit/cinder/test_nfs.py +++ b/glance_store/tests/unit/cinder/test_nfs.py @@ -91,3 +91,6 @@ class TestNfsBrickConnector( nfs.mount.umount.assert_called_once_with( vol_name, mount_path, self.connector.host, self.connector.root_helper) + + def test_extend_volume(self): + self.assertRaises(NotImplementedError, self.connector.extend_volume) diff --git a/glance_store/tests/unit/test_opts.py b/glance_store/tests/unit/test_opts.py index bfb9bce..073b782 100644 --- a/glance_store/tests/unit/test_opts.py +++ b/glance_store/tests/unit/test_opts.py @@ -84,6 +84,7 @@ class OptsTestCase(base.StoreBaseTest): 'cinder_volume_type', 'cinder_use_multipath', 'cinder_enforce_multipath', + 'cinder_do_extend_attached', 'default_swift_reference', 'https_insecure', 'filesystem_store_chunk_size', |