Merge lp:~matiasb/pkgme-service/frameworks-from-manifest into lp:pkgme-service

Proposed by Matias Bordese
Status: Merged
Approved by: Matias Bordese
Approved revision: 159
Merged at revision: 159
Proposed branch: lp:~matiasb/pkgme-service/frameworks-from-manifest
Merge into: lp:pkgme-service
Diff against target: 59 lines (+38/-0)
2 files modified
src/djpkgme/tasks.py (+5/-0)
src/djpkgme/tests/test_tasks.py (+33/-0)
To merge this branch: bzr merge lp:~matiasb/pkgme-service/frameworks-from-manifest
Reviewer Review Type Date Requested Status
Ricardo Kirkner (community) Approve
Review via email: mp+214794@code.launchpad.net

Commit message

Updated click job to add support for multiple frameworks data from manifest.

To post a comment you must log in.
Revision history for this message
Ricardo Kirkner (ricardokirkner) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/djpkgme/tasks.py'
2--- src/djpkgme/tasks.py 2014-03-26 12:59:09 +0000
3+++ src/djpkgme/tasks.py 2014-04-08 15:33:10 +0000
4@@ -385,6 +385,11 @@
5 architecture = manifest['architecture']
6 if isinstance(architecture, basestring):
7 manifest['architecture'] = [architecture]
8+
9+ if 'framework' in manifest:
10+ frameworks = manifest['framework'].split(',')
11+ manifest['framework'] = [f.strip() for f in frameworks]
12+
13 if 'icon' in manifest:
14 manifest['icon'] = self.get_package_icon(package, manifest,
15 logger)
16
17=== modified file 'src/djpkgme/tests/test_tasks.py'
18--- src/djpkgme/tests/test_tasks.py 2014-03-26 12:59:09 +0000
19+++ src/djpkgme/tests/test_tasks.py 2014-04-08 15:33:10 +0000
20@@ -956,6 +956,39 @@
21 self.assertEqual(set(info['architecture']),
22 set(['armhf', 'amd64']))
23
24+ def test_get_package_info_with_no_framework_in_manifest(self):
25+ mock_logger = Mock()
26+ job = ClickPackageInfoJob()
27+ package_name = 'some.package'
28+ tempdir = self.useFixture(TempDir()).path
29+ self.make_manifest_file(
30+ dict(name=package_name, architecture='armhf'), tempdir)
31+ info = job.get_package_info(tempdir, mock_logger)
32+ self.assertNotIn('framework', info)
33+
34+ def test_get_package_info_with_single_framework_in_manifest(self):
35+ mock_logger = Mock()
36+ job = ClickPackageInfoJob()
37+ package_name = 'some.package'
38+ tempdir = self.useFixture(TempDir()).path
39+ self.make_manifest_file(
40+ dict(name=package_name, architecture='armhf',
41+ framework='ubuntu-sdk-13.10'), tempdir)
42+ info = job.get_package_info(tempdir, mock_logger)
43+ self.assertEqual(info['framework'], ['ubuntu-sdk-13.10'])
44+
45+ def test_get_package_info_with_multiple_frameworks_in_manifest(self):
46+ mock_logger = Mock()
47+ job = ClickPackageInfoJob()
48+ package_name = 'some.package'
49+ tempdir = self.useFixture(TempDir()).path
50+ self.make_manifest_file(
51+ dict(name=package_name, architecture='armhf',
52+ framework='ubuntu-sdk-13.10, ubuntu-sdk-14.04'), tempdir)
53+ info = job.get_package_info(tempdir, mock_logger)
54+ self.assertEqual(set(info['framework']),
55+ set(['ubuntu-sdk-13.10', 'ubuntu-sdk-14.04']))
56+
57 @patch('djpkgme.tasks.subprocess.check_output')
58 @patch('djpkgme.tasks.ClickPackageInfoJob.download_package')
59 @patch('djpkgme.tasks.TempDir')

Subscribers

People subscribed via source and target branches