def test_list_storagevolumes_none_check(self): self.mock.StubOutWithMock(api, "storage_volume_get_all_by_filters") api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg() ).AndReturn(None) self.mock.ReplayAll() request = webob.Request.blank("/v2.0/storagevolumes", base_url="http://localhost:8774/v2.0/") request.environ["nova.context"] = self.admin_context resp = StorageVolumeController().index(request) self.assertEqual(resp.body, '{"storagevolumes": []}', "Return xml string")
def test_list_storagevolumes_detail_none_xml(self): storagevolumes = None self.mock.StubOutWithMock(api, "storage_volume_get_all_by_filters") api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg() ).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank("/v2.0/storagevolumes/detail.xml", base_url="http://localhost:8774/v2.0/") request.environ["nova.context"] = self.admin_context resp = StorageVolumeController().detail(request) self.assertNotEqual(resp, None, "Return xml string")
def test_list_storagevolumes_json(self): storagevolumes = self.get_storagevolume_list() self.mock.StubOutWithMock(api, "storage_volume_get_all_by_filters") api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg() ).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank("/v2.0/storagevolumes.json", base_url="http://localhost:8774/v2.0/") request.environ["nova.context"] = self.admin_context resp = StorageVolumeController().index(request) self.assertNotEqual(resp, None, "Return json string") self.assertEqual(self.expected_index_json, resp.body)
def test_list_storagevolumes_none_check(self): self.mock.StubOutWithMock(api, 'storage_volume_get_all_by_filters') api.storage_volume_get_all_by_filters(mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(None) self.mock.ReplayAll() request = webob.Request.blank('/v2.0/storagevolumes', base_url='http://localhost:8774/v2.0/') request.environ['nova.context'] = self.admin_context resp = StorageVolumeController().index(request) self.assertEqual(resp.body, '{"storagevolumes": []}', 'Return xml string')
def test_list_storagevolumes_detail_none_xml(self): storagevolumes = None self.mock.StubOutWithMock(api, 'storage_volume_get_all_by_filters') api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank('/v2.0/storagevolumes/detail.xml', base_url='http://localhost:8774/v2.0/') request.environ['nova.context'] = self.admin_context resp = StorageVolumeController().detail(request) self.assertNotEqual(resp, None, 'Return xml string')
def test_list_limited_storagevolumes_detail_xml(self): storagevolumes = self.get_storagevolume_list() self.mock.StubOutWithMock(api, "storage_volume_get_all_by_filters") api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg() ).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank( "/v2.0/storagevolumes/detail.xml?" "limit=1&marker=datastore-111", base_url="http://localhost:8774/v2.0/" ) request.environ["nova.context"] = self.admin_context resp = StorageVolumeController().detail(request) self.assertEqual(resp.body, self.expected_limited_detail_xml)
def test_list_storagevolumes_json(self): storagevolumes = self.get_storagevolume_list() self.mock.StubOutWithMock(api, 'storage_volume_get_all_by_filters') api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank('/v2.0/storagevolumes.json', base_url='http://localhost:8774/v2.0/') request.environ['nova.context'] = self.admin_context resp = StorageVolumeController().index(request) self.assertNotEqual(resp, None, 'Return json string') self.assertEqual(self.expected_index_json, resp.body)
def test_list_limited_storagevolumes_detail_xml(self): storagevolumes = self.get_storagevolume_list() self.mock.StubOutWithMock(api, 'storage_volume_get_all_by_filters') api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank( '/v2.0/storagevolumes/detail.xml?' 'limit=1&marker=datastore-111', base_url='http://localhost:8774/v2.0/') request.environ['nova.context'] = self.admin_context resp = StorageVolumeController().detail(request) self.assertEqual(resp.body, self.expected_limited_detail_xml)
def test_list_storagevolumes_detail_xml(self): storagevolumes = self.get_storagevolume_list() self.mock.StubOutWithMock(api, 'storage_volume_get_all_by_filters') api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank('/v2.0/storagevolumes/detail.xml', base_url='http://localhost:8774/v2.0/') request.environ['nova.context'] = self.admin_context resp = StorageVolumeController().detail(request) self.assertEqual(resp.body, self.expected_detail_xml)
def test_storage_volume_get_all_by_filters_changessince(self): # Create StorageVolumes vol_ids = ('V1', 'V2', 'V3') vol_names = ('name1', 'name2', 'name3') for i in range(len(vol_ids)): self.__create_volume(id=vol_ids[i], name=vol_names[i]) created_time = long(time.time() * 1000L) # Wait for 1 sec and update second vol and delete third vol time.sleep(1) second_vol = healthnmon_db_api.storage_volume_get_by_ids( self.admin_context, [vol_ids[1]])[0] second_vol.name = 'New name' healthnmon_db_api.storage_volume_save(self.admin_context, second_vol) healthnmon_db_api.storage_volume_delete_by_ids(self.admin_context, [vol_ids[2]]) # Query with filter expected_updated_ids = [vol_ids[1], vol_ids[2]] filters = {'changes-since': created_time} vols = healthnmon_db_api.storage_volume_get_all_by_filters( self.admin_context, filters, None, None) self.assert_(vols is not None) self.assert_(len(vols) == 2) for vol in vols: self.assert_(vol is not None) self.assert_(vol.id in expected_updated_ids)
def test_list_storagevolumes_json_header(self): storagevolumes = self.get_storagevolume_list() self.mock.StubOutWithMock(api, 'storage_volume_get_all_by_filters') api.storage_volume_get_all_by_filters( mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg(), mox.IgnoreArg()).AndReturn(storagevolumes) self.mock.ReplayAll() request = webob.Request.blank('/v2.0/storagevolumes', base_url='http://localhost:8774/v2.0/') request.headers['Accept'] = 'application/json' request.environ['nova.context'] = self.admin_context resp = StorageVolumeController().index(request) self.assertNotEqual(resp, None, 'Return json string') self.assertEqual(self.expected_index_json, resp.body)
def test_storage_volume_get_all_by_filters_changessince(self): # Create StorageVolumes vol_ids = ('V1', 'V2', 'V3') vol_names = ('name1', 'name2', 'name3') for i in range(len(vol_ids)): self.__create_volume(id=vol_ids[i], name=vol_names[i]) created_time = long(time.time() * 1000L) # Wait for 1 sec and update second vol and delete third vol time.sleep(1) second_vol = healthnmon_db_api.storage_volume_get_by_ids( self.admin_context, [vol_ids[1]])[0] second_vol.name = 'New name' healthnmon_db_api.storage_volume_save(self.admin_context, second_vol) healthnmon_db_api.storage_volume_delete_by_ids( self.admin_context, [vol_ids[2]]) # Query with filter expected_updated_ids = [vol_ids[1], vol_ids[2]] filters = {'changes-since': created_time} vols = healthnmon_db_api.storage_volume_get_all_by_filters( self.admin_context, filters, None, None) self.assert_(vols is not None) self.assert_(len(vols) == 2) for vol in vols: self.assert_(vol is not None) self.assert_(vol.id in expected_updated_ids)
def test_storage_volume_get_all_by_filters(self): # Create StorageVolumes vol_ids = ('V1', 'V2') vol_names = ('name1', 'name2') for i in range(len(vol_ids)): self.__create_volume(id=vol_ids[i], name=vol_names[i]) # Query with filter filters = {'name': vol_names[1]} vols = healthnmon_db_api.storage_volume_get_all_by_filters( self.admin_context, filters, 'id', DbConstants.ORDER_ASC) self.assert_(vols is not None) self.assert_(len(vols) == 1) self.assert_(vols[0] is not None) self.assert_(vols[0].id == vol_ids[1])
def storage_volume_get_all_by_filters(context, filters, sort_key, sort_dir): """ This API will make a call to db layer to fetch the list of all the StorageVolume objects. Parameters: context - nova.context.RequestContext object filters - dictionary of filters to be applied keys should be fields of StorageVolume model if value is simple value = filter is applied and if value is list or tuple 'IN' filter is applied eg : {'size':1024, 'name':['vol1', 'vol2']} will filter as size = 1024 AND name in ('vol1', 'vol2') sort_key - Field on which sorting is to be applied sort_dir - asc for Ascending sort direction, desc for descending sort direction Returns: list of storage volumes that match all filters and sorted with sort_key """ return api.storage_volume_get_all_by_filters(context, filters, sort_key, sort_dir)
def test_storage_volume_get_all_by_filters_not_deleted(self): # Create StorageVolumes vol_ids = ('V1', 'V2') vol_names = ('name1', 'name2') for i in range(len(vol_ids)): self.__create_volume(id=vol_ids[i], name=vol_names[i]) # Delete one vol healthnmon_db_api.storage_volume_delete_by_ids(self.admin_context, [vol_ids[0]]) # Query with filter filters = {'deleted': 'false'} vols = healthnmon_db_api.storage_volume_get_all_by_filters( self.admin_context, filters, 'id', DbConstants.ORDER_ASC) print "vols::", vols[0].id self.assert_(vols is not None) self.assert_(len(vols) == 1) self.assert_(vols[0] is not None) self.assert_(vols[0].id == vol_ids[1])
def test_storage_volume_get_all_by_filters_not_deleted(self): # Create StorageVolumes vol_ids = ('V1', 'V2') vol_names = ('name1', 'name2') for i in range(len(vol_ids)): self.__create_volume(id=vol_ids[i], name=vol_names[i]) # Delete one vol healthnmon_db_api.storage_volume_delete_by_ids( self.admin_context, [vol_ids[0]]) # Query with filter filters = {'deleted': 'false'} vols = healthnmon_db_api.storage_volume_get_all_by_filters( self.admin_context, filters, 'id', DbConstants.ORDER_ASC) print "vols::", vols[0].id self.assert_(vols is not None) self.assert_(len(vols) == 1) self.assert_(vols[0] is not None) self.assert_(vols[0].id == vol_ids[1])