Merge lp:~jml/pkgme-service/delete-code into lp:pkgme-service

Proposed by Jonathan Lange
Status: Merged
Approved by: James Westby
Approved revision: 137
Merged at revision: 137
Proposed branch: lp:~jml/pkgme-service/delete-code
Merge into: lp:pkgme-service
Diff against target: 167 lines (+23/-46)
3 files modified
setup.py (+0/-1)
src/djpkgme/tests/test_integration.py (+20/-43)
versions.cfg (+3/-2)
To merge this branch: bzr merge lp:~jml/pkgme-service/delete-code
Reviewer Review Type Date Requested Status
James Westby (community) Approve
Review via email: mp+131591@code.launchpad.net

Commit message

Upgrade to txpkgme 0.3, delete some test helper code

Description of the change

This upgrades the dependency to txpkgme 0.3, just released.

That in turn allows us to kill off some helper code for submitting things
to pkgme-service.

To post a comment you must log in.
Revision history for this message
James Westby (james-w) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'setup.py'
2--- setup.py 2012-10-17 09:57:02 +0000
3+++ setup.py 2012-10-26 11:24:20 +0000
4@@ -31,7 +31,6 @@
5 'oops_dictconfig==0.0.1',
6 # The following are transitive dependencies, we're just fixing
7 # the versions.
8- 'httplib2==0.7.2', # Version on precise.
9 'kombu==2.1.1',
10 'celery==2.5.0',
11 ],
12
13=== modified file 'src/djpkgme/tests/test_integration.py'
14--- src/djpkgme/tests/test_integration.py 2012-10-25 14:29:16 +0000
15+++ src/djpkgme/tests/test_integration.py 2012-10-26 11:24:20 +0000
16@@ -21,15 +21,11 @@
17 Contains,
18 Equals,
19 )
20-from twisted.internet.error import TimeoutError
21
22 from devportalbinary.testing import DatabaseFixture
23 from pkgme_service_client import PkgmeAPI
24-from txpkgme.harness import WebServer
25-from txpkgme.submitfromdisk import (
26- add_local_files,
27- METADATA_ICONS,
28- )
29+from txpkgme.harness import PkgmeServiceError
30+from txpkgme.submitfromdisk import submit_local_files
31
32 from djpkgme.tests.factory import (
33 get_acceptance_data_path,
34@@ -146,28 +142,6 @@
35 self.addCleanup(self.flush_db)
36
37
38-def submit_local_files(service_root, file_path, metadata):
39- """Submit 'path' to pkgme-service at 'service_root' with 'metadata'.
40-
41- :return: A Deferred that files with ('PUT', json_result).
42- """
43- # XXX: Push this back down into txpkgme.
44- harness = WebServer()
45- d = harness.run()
46- def prepare_for_local_files((root, url, metadata_urls)):
47- new_urls = add_local_files(
48- root, url, file_path, metadata.get(METADATA_ICONS, None))
49- metadata_urls.update(new_urls)
50- metadata.update(metadata_urls)
51- return metadata
52- d.addCallback(prepare_for_local_files)
53- def web_server_up(metadata, webserver):
54- return webserver.send_api_request(metadata, service_root)
55- d.addCallback(web_server_up, harness)
56- d.addBoth(harness.shut_down_web_server)
57- return d
58-
59-
60 class TestEndToEnd(TestCaseWithFactory):
61 """Full end-to-end tests.
62
63@@ -181,7 +155,13 @@
64 def set_up_pkgme_service(self):
65 # The order here is significant. The Django database must be set up
66 # before the celery fixture is started.
67- output_dir = self.useFixture(TempDir()).path
68+ temp_dir = self.useFixture(TempDir())
69+ output_dir = temp_dir.path
70+ def get_output_dir_contents():
71+ return ",".join(os.listdir(output_dir))
72+ temp_dir.addDetail(
73+ 'output-dir-files',
74+ Content(UTF8_TEXT, get_output_dir_contents))
75 self.useFixture(
76 DjangoSettings(djpkgme=dict(pkgme_output_directory=output_dir)))
77 self.useFixture(DjangoDatabase())
78@@ -189,10 +169,6 @@
79 self.useFixture(DjangoFixture('pkgme/'))
80 settings_output = manage(['settings', '--show'])
81 self.addDetail('django-settings', text_content(settings_output))
82- def get_output_dir_contents():
83- return ",".join(os.listdir(output_dir))
84- self.addDetail('output-dir-files',
85- Content(UTF8_TEXT, get_output_dir_contents))
86 return PkgmeAPI.default_service_root
87
88 def packaged_app_url_equals(self, url):
89@@ -208,7 +184,9 @@
90 :param body_matcher: A Matcher that the parsed JSON body must match.
91 """
92 service_root = self.set_up_pkgme_service()
93- d = submit_local_files(service_root, file_path, metadata)
94+ d = submit_local_files(
95+ service_root, file_path, metadata, shutdown_delay=0,
96+ timeout=30, reactor=self.reactor)
97 def callback_received((method, json_body)):
98 body = json.loads(json_body)
99 self.assertEqual('PUT', method)
100@@ -224,16 +202,15 @@
101 :param body_matcher: A Matcher that the parsed JSON body must match.
102 """
103 service_root = self.set_up_pkgme_service()
104- d = submit_local_files(service_root, file_path, metadata)
105+ d = submit_local_files(
106+ service_root, file_path, metadata, shutdown_delay=0,
107+ timeout=30, reactor=self.reactor)
108 def callback_received(params):
109 self.fail("Expected errback, got callback: %r" % (params,))
110 def errback_received(failure):
111- if failure.check(TimeoutError):
112- return failure
113- method, json_body = failure.value
114- body = json.loads(json_body)
115- self.assertEqual('PUT', method)
116- self.assertThat(body, body_matcher)
117+ failure.trap(PkgmeServiceError)
118+ error = failure.value
119+ self.assertThat(error.traceback, body_matcher)
120 return d.addCallbacks(callback_received, errback_received)
121
122 def test_gtk(self):
123@@ -259,7 +236,8 @@
124 metadata = self.factory.make_metadata()
125 tarball_path = self.factory.make_tarball(
126 get_acceptance_data_path('python'))
127- return self.expect_error(metadata, tarball_path, Contains('error'))
128+ return self.expect_error(
129+ metadata, tarball_path, Contains('No eligible backends'))
130
131 def test_pdf(self):
132 metadata = {
133@@ -286,4 +264,3 @@
134 # x)' that did it. Then the test running function would need to interpret
135 # the markup and make the tarball if needed. Not convinced it would be
136 # worth it.
137-
138
139=== modified file 'versions.cfg'
140--- versions.cfg 2012-10-25 14:29:16 +0000
141+++ versions.cfg 2012-10-26 11:24:20 +0000
142@@ -27,6 +27,7 @@
143 django-piston = 0.2.3
144 django-preflight = 0.1
145 fixtures = 0.3.8
146+httplib2 = 0.7.6
147 iso8601 = 0.1.4
148 kombu = 2.1.1
149 keyring = 0.9.2
150@@ -44,7 +45,7 @@
151 oops_dictconfig = 0.0.1
152 postgresfixture = 0.1.2
153 PIL = 1.1.7
154-piston-mini-client = 0.7.2
155+piston-mini-client = 0.7.3
156 pkgme = 0.4.3
157 pkgme-service-python = 0.3
158 pkgme-devportal = 0.4.10
159@@ -62,7 +63,7 @@
160 testtools = 0.9.21
161 treeshape = 0.2.1
162 twisted = 11.1.0
163-txpkgme = 0.2
164+txpkgme = 0.3
165 wadllib = 1.3.1
166 wsgi-intercept = 0.5.1
167 z3c.recipe.scripts = 1.0.1

Subscribers

People subscribed via source and target branches