def test_get_by_id(self): no_category = KeysCategory.get_by_id(self.db, -1) expect(no_category).to_be_null() category = KeysCategoryFactory.create(name='HOLMES') loaded_category = KeysCategory.get_by_id(self.db, category.id) expect(category).to_equal(loaded_category) expect(loaded_category.name).to_equal('HOLMES') expect(loaded_category.id).to_equal(category.id)
def get(self, domain_name, key_category_id): domain = Domain.get_domain_by_name(domain_name, self.db) if not domain: self.set_status(404, self._('Domain %s not found') % domain_name) return key_category = KeysCategory.get_by_id(self.db, key_category_id) if not key_category: self.set_status( 404, self._('Key category %s not found') % key_category_id) return violation_defs = self.application.violation_definitions top_violations = self.girl.get( 'top_violations_in_category_for_domains') or {} violations = [] for top_violation in top_violations.get(domain_name, {}).get(key_category.id, []): violations.append({ 'title': self._(violation_defs[top_violation['key_name']]['title']), 'count': top_violation['count'], 'key': top_violation['key_name'], }) result = { "domainId": domain.id, 'domainName': domain.name, 'domainURL': domain.url, 'categoryId': key_category_id, 'violations': violations } self.write_json(result)