def test_list_container_with_filters(self): container1 = utils.create_test_container( name='container-one', uuid=uuidutils.generate_uuid(), context=self.context) container2 = utils.create_test_container( name='container-two', uuid=uuidutils.generate_uuid(), context=self.context) res = dbapi.list_container(self.context, filters={'name': 'container-one'}) self.assertEqual([container1.id], [r.id for r in res]) res = dbapi.list_container(self.context, filters={'name': 'container-two'}) self.assertEqual([container2.id], [r.id for r in res]) res = dbapi.list_container(self.context, filters={'name': 'bad-container'}) self.assertEqual([], [r.id for r in res]) res = dbapi.list_container(self.context, filters={'name': container1.name}) self.assertEqual([container1.id], [r.id for r in res])
def test_list_container_with_filters(self, mock_write, mock_read): mock_read.side_effect = etcd.EtcdKeyNotFound container1 = utils.create_test_container( name='container-one', uuid=uuidutils.generate_uuid(), context=self.context) container2 = utils.create_test_container( name='container-two', uuid=uuidutils.generate_uuid(), context=self.context) mock_read.side_effect = lambda *args: FakeEtcdMutlipleResult( [container1.as_dict(), container2.as_dict()]) res = dbapi.list_container(self.context, filters={'name': 'container-one'}) self.assertEqual([container1.id], [r.id for r in res]) res = dbapi.list_container(self.context, filters={'name': 'container-two'}) self.assertEqual([container2.id], [r.id for r in res]) res = dbapi.list_container(self.context, filters={'name': 'container-three'}) self.assertEqual([], [r.id for r in res]) res = dbapi.list_container(self.context, filters={'name': container1.name}) self.assertEqual([container1.id], [r.id for r in res])
def test_list_container(self): uuids = [] for i in range(1, 6): container = utils.create_test_container( uuid=uuidutils.generate_uuid(), context=self.context, name='container' + str(i)) uuids.append(six.text_type(container['uuid'])) res = dbapi.list_container(self.context) res_uuids = [r.uuid for r in res] self.assertEqual(sorted(uuids), sorted(res_uuids))
def test_list_container(self, mock_write, mock_read): uuids = [] containers = [] mock_read.side_effect = etcd.EtcdKeyNotFound for i in range(1, 6): container = utils.create_test_container( uuid=uuidutils.generate_uuid(), context=self.context, name='cont' + str(i)) containers.append(container.as_dict()) uuids.append(six.text_type(container['uuid'])) mock_read.side_effect = lambda *args: FakeEtcdMutlipleResult(containers ) res = dbapi.list_container(self.context) res_uuids = [r.uuid for r in res] self.assertEqual(sorted(uuids), sorted(res_uuids))
def test_list_container_sorted(self): uuids = [] for i in range(5): container = utils.create_test_container( uuid=uuidutils.generate_uuid(), context=self.context, name='container' + str(i)) uuids.append(six.text_type(container.uuid)) res = dbapi.list_container(self.context, sort_key='uuid') res_uuids = [r.uuid for r in res] self.assertEqual(sorted(uuids), res_uuids) self.assertRaises(exception.InvalidParameterValue, dbapi.list_container, self.context, sort_key='foo')
def list(cls, context, limit=None, marker=None, sort_key=None, sort_dir=None, filters=None): """Return a list of Container objects. :param context: Security context. :param limit: maximum number of resources to return in a single result. :param marker: pagination marker for large data sets. :param sort_key: column to sort results by. :param sort_dir: direction to sort. "asc" or "desc". :param filters: filters when list containers, the filter name could be 'name', 'image', 'project_id', 'user_id', 'memory', 'bay_uuid'. For example, filters={'bay_uuid': '1'} :returns: a list of :class:`Container` object. """ db_containers = dbapi.list_container( context, limit=limit, marker=marker, sort_key=sort_key, sort_dir=sort_dir, filters=filters) return Container._from_db_object_list(db_containers, cls, context)
def test_list_container_sorted(self, mock_write, mock_read): uuids = [] containers = [] mock_read.side_effect = etcd.EtcdKeyNotFound for i in range(5): container = utils.create_test_container( uuid=uuidutils.generate_uuid(), context=self.context, name='cont' + str(i)) containers.append(container.as_dict()) uuids.append(six.text_type(container.uuid)) mock_read.side_effect = lambda *args: FakeEtcdMutlipleResult(containers ) res = dbapi.list_container(self.context, sort_key='uuid') res_uuids = [r.uuid for r in res] self.assertEqual(sorted(uuids), res_uuids) self.assertRaises(exception.InvalidParameterValue, dbapi.list_container, self.context, sort_key='foo')