def test_read_list(self):
        if self.is_abstract_class:
            return
        mozlogger.info('test_read_list')

        # create fixture
        fixture1 = self.factory
        fixture2 = self.factory

        # fetch list (ordered so assert won't flake)
        res = self.get_list(params={'order_by': 'id'})  # no creds

        act = res.json

        act_meta = act["meta"]
        exp_meta = {
            u"limit": 20,
            u"next": None,
            u"offset": 0,
            u"previous": None,
            u"total_count": 2,
            }

        self.assertEquals(act_meta, exp_meta)

        act_objects = act["objects"]
        exp_objects = [
            self.backend_data(fixture1),
            self.backend_data(fixture2)
            ]

        # Monkey patch the expected modified time for testing
        for exp_object in exp_objects:
            if u'modified_on' in exp_object:
                exp_object[u'modified_on'] = u'2011-12-13T22:39:00'

        self.maxDiff = None
        self.assertEqual(exp_objects, act_objects)
Instead of performing bulk delete, collect key names deleted.
dataset/ETHPy150Open mozilla/moztrap/tests/case/api/crud.py/ApiCrudCases.test_read_list--crossover with--dataset/ETHPy150Open wal-e/wal-e/tests/test_s3_deleter.py/collect