From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 464411381F3 for ; Thu, 20 Jun 2013 23:21:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B4598E09C5; Thu, 20 Jun 2013 23:21:09 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 284C4E09B5 for ; Thu, 20 Jun 2013 23:21:08 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 281E533E3FC for ; Thu, 20 Jun 2013 23:21:08 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 9B9F8E468F for ; Thu, 20 Jun 2013 23:21:06 +0000 (UTC) From: "Jauhien Piatlicki" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jauhien Piatlicki" Message-ID: <1371769668.707603adc020c074d473fad77bd8163bc4abdefe.jauhien@gentoo> Subject: [gentoo-commits] proj/g-sorcery:master commit in: g_sorcery/, tests/ X-VCS-Repository: proj/g-sorcery X-VCS-Files: g_sorcery/package_db.py tests/test_package_db.py X-VCS-Directories: g_sorcery/ tests/ X-VCS-Committer: jauhien X-VCS-Committer-Name: Jauhien Piatlicki X-VCS-Revision: 707603adc020c074d473fad77bd8163bc4abdefe X-VCS-Branch: master Date: Thu, 20 Jun 2013 23:21:06 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 59d9ed7e-d6d8-4f1d-9c8a-994497cadf0b X-Archives-Hash: a040f964e7479a78f622580fc5ad4826 commit: 707603adc020c074d473fad77bd8163bc4abdefe Author: Jauhien Piatlicki (jauhien) gmail com> AuthorDate: Thu Jun 20 23:07:48 2013 +0000 Commit: Jauhien Piatlicki gmail com> CommitDate: Thu Jun 20 23:07:48 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/g-sorcery.git;a=commit;h=707603ad g_sorcery/package_db.py: list_package_names --- g_sorcery/package_db.py | 5 +++++ tests/test_package_db.py | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/g_sorcery/package_db.py b/g_sorcery/package_db.py index a925af4..aae3abc 100644 --- a/g_sorcery/package_db.py +++ b/g_sorcery/package_db.py @@ -263,3 +263,8 @@ class PackageDB: def list_categories(self): return list(self.db['categories'].keys()) + + def list_package_names(self, category): + if not category in self.db['packages']: + raise Exception('No such category: ' + category) + return list(self.db['packages'][category].keys()) diff --git a/tests/test_package_db.py b/tests/test_package_db.py index 1b3600b..9977d8c 100644 --- a/tests/test_package_db.py +++ b/tests/test_package_db.py @@ -152,7 +152,16 @@ class TestDummyDB(unittest.TestCase): db.generate() categories = list(set([x.category for x in self.packages])) self.assertEqual(categories, db.list_categories()) - + + def test_list_package_names(self): + db = DummyDB(self.tempdir.name, self.packages) + db.generate() + categories = list(set([x.category for x in self.packages])) + for category in categories: + package_names = list(set([x.name for x in self.packages if x.category == category])) + self.assertEqual(package_names, db.list_package_names(category)) + self.assertRaises(Exception, db.list_package_names, 'no_such_category') + def suite(): suite = unittest.TestSuite() @@ -167,4 +176,5 @@ def suite(): suite.addTest(TestDummyDB('test_manifest')) suite.addTest(TestDummyDB('test_read')) suite.addTest(TestDummyDB('test_list_categories')) + suite.addTest(TestDummyDB('test_list_package_names')) return suite