Merge lp:~ricardokirkner/click-reviewers-tools/handle-malformed-overrides-data into lp:click-reviewers-tools

Proposed by Ricardo Kirkner
Status: Merged
Merged at revision: 299
Proposed branch: lp:~ricardokirkner/click-reviewers-tools/handle-malformed-overrides-data
Merge into: lp:click-reviewers-tools
Diff against target: 89 lines (+36/-3)
4 files modified
clickreviews/cr_lint.py (+4/-2)
clickreviews/cr_security.py (+3/-1)
clickreviews/tests/test_cr_lint.py (+14/-0)
clickreviews/tests/test_cr_security.py (+15/-0)
To merge this branch: bzr merge lp:~ricardokirkner/click-reviewers-tools/handle-malformed-overrides-data
Reviewer Review Type Date Requested Status
Jamie Strandboge (community) Approve
Review via email: mp+242402@code.launchpad.net

Commit message

handle case when overrides data is malformed

To post a comment you must log in.
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Looks good. Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'clickreviews/cr_lint.py'
--- clickreviews/cr_lint.py 2014-11-20 13:03:51 +0000
+++ clickreviews/cr_lint.py 2014-11-20 18:46:46 +0000
@@ -94,7 +94,9 @@
94 'urls']94 'urls']
9595
96 self.redflagged_hooks = ['pay-ui']96 self.redflagged_hooks = ['pay-ui']
97 self.overrides = overrides if overrides is not None else {}97 if overrides is None:
98 overrides = {}
99 self.overrides = overrides
98100
99 def _list_control_files(self):101 def _list_control_files(self):
100 '''List all control files with their full path.'''102 '''List all control files with their full path.'''
@@ -652,7 +654,7 @@
652 '''Check framework()'''654 '''Check framework()'''
653 n = 'framework'655 n = 'framework'
654 l = "http://askubuntu.com/questions/460512/what-framework-should-i-use-in-my-manifest-file"656 l = "http://askubuntu.com/questions/460512/what-framework-should-i-use-in-my-manifest-file"
655 framework_overrides = self.overrides.get('framework')657 framework_overrides = self.overrides.get('framework', {})
656 frameworks = Frameworks(overrides=framework_overrides)658 frameworks = Frameworks(overrides=framework_overrides)
657 if self.manifest['framework'] in frameworks.AVAILABLE_FRAMEWORKS:659 if self.manifest['framework'] in frameworks.AVAILABLE_FRAMEWORKS:
658 t = 'info'660 t = 'info'
659661
=== modified file 'clickreviews/cr_security.py'
--- clickreviews/cr_security.py 2014-11-17 17:12:00 +0000
+++ clickreviews/cr_security.py 2014-11-20 18:46:46 +0000
@@ -89,7 +89,9 @@
89 'policy_version': 1.2,89 'policy_version': 1.2,
90 },90 },
91 }91 }
92 framework_overrides = overrides.get('framework') if overrides else {}92 if overrides is None:
93 overrides = {}
94 framework_overrides = overrides.get('framework', {})
93 self._override_framework_policies(framework_overrides)95 self._override_framework_policies(framework_overrides)
9496
95 self.security_manifests = dict()97 self.security_manifests = dict()
9698
=== modified file 'clickreviews/tests/test_cr_lint.py'
--- clickreviews/tests/test_cr_lint.py 2014-11-20 13:02:37 +0000
+++ clickreviews/tests/test_cr_lint.py 2014-11-20 18:46:46 +0000
@@ -787,6 +787,20 @@
787 expected_counts = {'info': 1, 'warn': 0, 'error': 0}787 expected_counts = {'info': 1, 'warn': 0, 'error': 0}
788 self.check_results(r, expected_counts)788 self.check_results(r, expected_counts)
789789
790 @patch('clickreviews.remote.read_cr_file')
791 def test_check_framework_with_malformed_overrides(self, mock_read_cr_file):
792 '''Test check_framework() - using overrides'''
793 mock_read_cr_file.return_value = {
794 'ubuntu-sdk-14.10-qml-dev2': 'available',
795 }
796 self.set_test_manifest("framework", "nonexistent")
797 overrides = {'nonexistent': {'state': 'available'}}
798 c = ClickReviewLint(self.test_name, overrides=overrides)
799 c.check_framework()
800 r = c.click_report
801 expected_counts = {'info': 0, 'warn': 0, 'error': 1}
802 self.check_results(r, expected_counts)
803
790 def test_check_hooks(self):804 def test_check_hooks(self):
791 '''Test check_hooks()'''805 '''Test check_hooks()'''
792 self.set_test_manifest("framework", "ubuntu-sdk-13.10")806 self.set_test_manifest("framework", "ubuntu-sdk-13.10")
793807
=== modified file 'clickreviews/tests/test_cr_security.py'
--- clickreviews/tests/test_cr_security.py 2014-11-17 17:12:00 +0000
+++ clickreviews/tests/test_cr_security.py 2014-11-20 18:46:46 +0000
@@ -224,6 +224,21 @@
224 expected_counts = {'info': 3, 'warn': 0, 'error': 0}224 expected_counts = {'info': 3, 'warn': 0, 'error': 0}
225 self.check_results(report, expected_counts)225 self.check_results(report, expected_counts)
226226
227 def test_check_policy_version_framework_with_malformed_overrides(self):
228 '''Test check_policy_version() - incorrectly override framework'''
229 self.set_test_manifest("framework", "nonexistent")
230 self.set_test_security_manifest(self.default_appname,
231 "policy_version", 1.3)
232 overrides = {'nonexistent': {'state': 'available',
233 'policy_vendor': 'ubuntu',
234 'policy_version': 1.3}}
235 c = ClickReviewSecurity(self.test_name, overrides=overrides)
236 c.check_policy_version()
237 report = c.click_report
238
239 expected_counts = {'info': 1, 'warn': 0, 'error': 2}
240 self.check_results(report, expected_counts)
241
227 def test_check_policy_vendor_unspecified(self):242 def test_check_policy_vendor_unspecified(self):
228 '''Test check_policy_vendor() - unspecified'''243 '''Test check_policy_vendor() - unspecified'''
229 c = ClickReviewSecurity(self.test_name)244 c = ClickReviewSecurity(self.test_name)

Subscribers

People subscribed via source and target branches