Exemple #1
0
    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])
Exemple #2
0
    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])
Exemple #3
0
 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))
Exemple #4
0
 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))
Exemple #5
0
    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')
Exemple #6
0
    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)
Exemple #7
0
    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')