def test_get_regressions_by_key_wrong_key(self): key = "a.b.c.e.h.j" regressions = { "a": { "b": { "c": { "d": { "e": { "f": ["foo"] } } } } } } regr = boot_regressions.get_regressions_by_key(key, regressions) self.assertListEqual([], regr)
def find_regressions(doc_id, database): """Look for the regressions of a boot report. :param doc_id: The id of the boot report to look for regressions. :type doc_id: ObjectId :return HandlerResponse A HandlerResponse object. """ response = hresponse.HandlerResponse() # First make sure we have a valid boot_id value. boot_doc = utils.db.find_one2( database[models.BOOT_COLLECTION], doc_id) if boot_doc: regr_idx_doc = utils.db.find_one2( database[models.BOOT_REGRESSIONS_BY_BOOT_COLLECTION], {models.BOOT_ID_KEY: doc_id}) if regr_idx_doc: spec = { models.ID_KEY: regr_idx_doc[models.BOOT_REGRESSIONS_ID_KEY] } result = utils.db.find_one2( database[models.BOOT_REGRESSIONS_COLLECTION], spec, fields=[models.REGRESSIONS_KEY]) if result: response.result = get_regressions_by_key( create_regressions_key(boot_doc), result[models.REGRESSIONS_KEY]) response.count = len(response.result) else: response.status_code = 404 response.reason = "Resource '{:s}' not found".format(str(doc_id)) return response