Merge lp:~robru/cupstream2distro/moar-bileto into lp:cupstream2distro

Proposed by Robert Bruce Park
Status: Merged
Approved by: Robert Bruce Park
Approved revision: 1124
Merged at revision: 1079
Proposed branch: lp:~robru/cupstream2distro/moar-bileto
Merge into: lp:cupstream2distro
Diff against target: 456 lines (+104/-141)
7 files modified
citrain/build.py (+2/-4)
citrain/prepare_silo.py (+0/-25)
citrain/recipes/base.py (+1/-0)
cupstream2distro/silomanager.py (+34/-18)
tests/unit/test_script_build.py (+1/-5)
tests/unit/test_script_prepare_silo.py (+0/-78)
tests/unit/test_silomanager.py (+66/-11)
To merge this branch: bzr merge lp:~robru/cupstream2distro/moar-bileto
Reviewer Review Type Date Requested Status
Robert Bruce Park (community) Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+270258@code.launchpad.net

Commit message

Convert source_archive and source_series to Bileto.

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:1123
http://jenkins.qa.ubuntu.com/job/cu2d-choo-choo-ci/763/
Executed test runs:

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/cu2d-choo-choo-ci/763/rebuild

review: Approve (continuous-integration)
1124. By Robert Bruce Park

Print silo summary early during build.

Revision history for this message
Robert Bruce Park (robru) wrote :

Looks good in staging.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'citrain/build.py'
--- citrain/build.py 2015-09-05 03:54:05 +0000
+++ citrain/build.py 2015-09-06 00:07:30 +0000
@@ -60,7 +60,6 @@
60from citrain.recipes.sourcesync import SourceSync60from citrain.recipes.sourcesync import SourceSync
61from citrain.recipes.binarysync import BinarySync61from citrain.recipes.binarysync import BinarySync
62from cupstream2distro.silomanager import SiloState62from cupstream2distro.silomanager import SiloState
63from cupstream2distro.launchpadmanager import lp
64from cupstream2distro.errors import BuildError, CITrainError63from cupstream2distro.errors import BuildError, CITrainError
65from cupstream2distro.utils import (64from cupstream2distro.utils import (
66 env,65 env,
@@ -124,9 +123,8 @@
124 Source: self.names & set(self.silo_state.sources),123 Source: self.names & set(self.silo_state.sources),
125 }124 }
126 if self.silo_state.source_archive:125 if self.silo_state.source_archive:
127 Sync.from_archive = lp.load(self.silo_state.source_archive)126 Sync.from_archive = self.silo_state.source_archive
128 Sync.from_series = lp.get_series(127 Sync.from_series = self.silo_state.source_series
129 self.silo_state.source_series, dest=Sync.from_archive)
130 Merge.all_mps = self.silo_state.mps128 Merge.all_mps = self.silo_state.mps
131129
132 def instantiate_build_objects(self):130 def instantiate_build_objects(self):
133131
=== modified file 'citrain/prepare_silo.py'
--- citrain/prepare_silo.py 2015-09-05 19:41:20 +0000
+++ citrain/prepare_silo.py 2015-09-06 00:07:30 +0000
@@ -45,10 +45,8 @@
4545
46from cupstream2distro.settings import (46from cupstream2distro.settings import (
47 BILETO_GET,47 BILETO_GET,
48 LANDING_SCHEME,
49 SILO_NAME_LIST,48 SILO_NAME_LIST,
50 SILOS_DIR,49 SILOS_DIR,
51 STABLE_OVERLAY_PPA,
52)50)
53from cupstream2distro.utils import (51from cupstream2distro.utils import (
54 SILO_DIR,52 SILO_DIR,
@@ -133,32 +131,9 @@
133 silo_state = SiloState.new_blank(131 silo_state = SiloState.new_blank(
134 siloname=env.SILONAME,132 siloname=env.SILONAME,
135 requestid=env.REQUEST_ID)133 requestid=env.REQUEST_ID)
136 if env.SYNC_REQUEST:
137 prepare_sync(silo_state)
138 return silo_state134 return silo_state
139135
140136
141def prepare_sync(silo_state):
142 """Process sync request."""
143 archive, comma, series = env.SYNC_REQUEST.partition(',')
144 source_series = series or env.SERIES
145 if archive.startswith('ppa:'):
146 source_archive = lp.get_ppa(archive.split(':')[1].strip('~'))
147 elif archive.isdigit():
148 siloname = '{}/landing-{:03d}'.format(env.DISTRIBUTION, int(archive))
149 source_archive = lp.get_ppa(LANDING_SCHEME.format(siloname))
150 source_state = SiloState(siloname)
151 source_series = source_state.series.name
152 elif archive == 'stable-overlay':
153 source_archive = lp.get_ppa(STABLE_OVERLAY_PPA)
154 else:
155 source_archive = lp.distributions[archive].main_archive
156 logging.info('Syncing from {} {}.'.format(
157 source_series, source_archive.web_link))
158 silo_state.source_archive = source_archive.self_link
159 silo_state.source_series = source_series
160
161
162def check_merge_status(merge):137def check_merge_status(merge):
163 """Raise PrepError if merge is in wrong state."""138 """Raise PrepError if merge is in wrong state."""
164 try:139 try:
165140
=== modified file 'citrain/recipes/base.py'
--- citrain/recipes/base.py 2015-09-03 18:50:16 +0000
+++ citrain/recipes/base.py 2015-09-06 00:07:30 +0000
@@ -168,6 +168,7 @@
168 silo_state.set_empty()168 silo_state.set_empty()
169 silo_state.set_preparing()169 silo_state.set_preparing()
170 silo_state.save_config()170 silo_state.save_config()
171 logging.info(silo_state.summarize())
171172
172 def clean_phase(self):173 def clean_phase(self):
173 """Delete files leftover from previous builds."""174 """Delete files leftover from previous builds."""
174175
=== modified file 'cupstream2distro/silomanager.py'
--- cupstream2distro/silomanager.py 2015-09-05 20:33:19 +0000
+++ cupstream2distro/silomanager.py 2015-09-06 00:07:30 +0000
@@ -41,9 +41,9 @@
41 LANDING_SCHEME,41 LANDING_SCHEME,
42 SILO_NAME_LIST,42 SILO_NAME_LIST,
43 SILOS_DIR,43 SILOS_DIR,
44 STABLE_OVERLAY_PPA,
44)45)
45from cupstream2distro.utils import (46from cupstream2distro.utils import (
46 SILO_DIR,
47 env,47 env,
48 memoize,48 memoize,
49 log_value_of,49 log_value_of,
@@ -176,7 +176,7 @@
176 @property176 @property
177 def request_id_file(self):177 def request_id_file(self):
178 """Identify the file that contains the requestid."""178 """Identify the file that contains the requestid."""
179 return SILO_DIR('request_id')179 return join(SILOS_DIR, self.siloname, 'request_id')
180180
181 @staticmethod181 @staticmethod
182 def find_first_available(distribution='ubuntu'):182 def find_first_available(distribution='ubuntu'):
@@ -463,7 +463,7 @@
463 @property463 @property
464 def step_file(self):464 def step_file(self):
465 """Define filename indicating silo has been published."""465 """Define filename indicating silo has been published."""
466 return SILO_DIR('step')466 return join(SILOS_DIR, self.siloname, 'step')
467467
468 @property468 @property
469 def step(self):469 def step(self):
@@ -537,9 +537,10 @@
537 return self._series.split('+')[-1]537 return self._series.split('+')[-1]
538538
539 @property539 @property
540 @memoize
540 def sources(self):541 def sources(self):
541 """Identify the manual source packages configured for this silo."""542 """Identify the manual source packages configured for this silo."""
542 archive = self.sync_request.split(',')[0]543 archive = self.sync_request.partition(',')[0]
543 sources = splitter(self._sources)544 sources = splitter(self._sources)
544 if not sources and archive.isdigit():545 if not sources and archive.isdigit():
545 return self.load_source_sync_sources(int(archive))546 return self.load_source_sync_sources(int(archive))
@@ -549,7 +550,7 @@
549 def load_source_sync_sources(self, silonum):550 def load_source_sync_sources(self, silonum):
550 """Check what packages are configured in a different silo."""551 """Check what packages are configured in a different silo."""
551 self.info('Inferring source names from silo {}.'.format(silonum))552 self.info('Inferring source names from silo {}.'.format(silonum))
552 return SiloState(553 return self.get_source_state(
553 '{}/landing-{:03d}'.format(self._distribution, silonum)554 '{}/landing-{:03d}'.format(self._distribution, silonum)
554 ).all_projects555 ).all_projects
555556
@@ -574,24 +575,39 @@
574 return lp.load('{}/{}'.format(self._distribution, series))575 return lp.load('{}/{}'.format(self._distribution, series))
575576
576 @property577 @property
578 @memoize
577 def source_archive(self):579 def source_archive(self):
578 """Identify the archive we are synching from."""580 """Identify the archive we are syncing from."""
579 return self._config.get('source_archive')581 archive = self._sync_request.partition(',')[0]
580582 if archive.startswith('ppa:'):
581 @source_archive.setter583 return lp.get_ppa(archive.split(':')[1].strip('~'))
582 def source_archive(self, value):584 elif archive.isdigit():
583 """Record the archive we are syncing from."""585 siloname = '{}/landing-{:03d}'.format(
584 self._config['source_archive'] = value586 self._distribution, int(archive))
587 return lp.get_ppa(LANDING_SCHEME.format(siloname))
588 elif archive == 'stable-overlay':
589 return lp.get_ppa(STABLE_OVERLAY_PPA)
590 elif archive:
591 return lp.distributions[archive].main_archive
585592
586 @property593 @property
594 @memoize
587 def source_series(self):595 def source_series(self):
588 """Identify the distro series we are syncing from."""596 """Identify the distro series we are syncing from."""
589 return self._config.get('source_series')597 archive, comma, series = self._sync_request.partition(',')
598 if archive.isdigit():
599 siloname = '{}/landing-{:03d}'.format(
600 self._distribution, int(archive))
601 return self.get_source_state(siloname).series
602 elif archive:
603 return lp.load('{}/{}'.format(
604 self.source_archive.distribution.name,
605 series or self._series))
590606
591 @source_series.setter607 @memoize
592 def source_series(self, value):608 def get_source_state(self, siloname):
593 """Record the distro series we are syncing from."""609 """Fetch SiloState object representing some other silo."""
594 self._config['source_series'] = value610 return SiloState(siloname)
595611
596 def append_mp(self, source_package, mp_link):612 def append_mp(self, source_package, mp_link):
597 """Record a new MP URL that this silo will build."""613 """Record a new MP URL that this silo will build."""
@@ -604,7 +620,7 @@
604 logging.error(message)620 logging.error(message)
605 if env.SILONAME:621 if env.SILONAME:
606 silo_state = SiloState(env.SILONAME)622 silo_state = SiloState(env.SILONAME)
607 silo_state.set_config_status(-1, message)623 silo_state.set_config_status(message)
608 silo_state.save_config()624 silo_state.save_config()
609625
610626
611627
=== modified file 'tests/unit/test_script_build.py'
--- tests/unit/test_script_build.py 2015-09-05 03:54:05 +0000
+++ tests/unit/test_script_build.py 2015-09-06 00:07:30 +0000
@@ -112,13 +112,9 @@
112 self.script.SourceSync: set(['b']),112 self.script.SourceSync: set(['b']),
113 })113 })
114 self.assertEqual(self.script.Merge.all_mps, silo_state.mps)114 self.assertEqual(self.script.Merge.all_mps, silo_state.mps)
115 self.assertEqual(self.script.lp.get_series.mock_calls, [
116 call(silo_state.source_series,
117 dest=self.script.SourceSync.from_archive),
118 ])
119 self.assertEqual(115 self.assertEqual(
120 self.script.SourceSync.from_series,116 self.script.SourceSync.from_series,
121 self.script.lp.get_series.return_value)117 silo_state.source_series)
122118
123 def test_buildmanager_instantiate_build_objects(self):119 def test_buildmanager_instantiate_build_objects(self):
124 """Create all build objects."""120 """Create all build objects."""
125121
=== modified file 'tests/unit/test_script_prepare_silo.py'
--- tests/unit/test_script_prepare_silo.py 2015-09-05 19:16:06 +0000
+++ tests/unit/test_script_prepare_silo.py 2015-09-06 00:07:30 +0000
@@ -23,7 +23,6 @@
23from cupstream2distro import project23from cupstream2distro import project
24from cupstream2distro.utils import env, os_path_join_safe24from cupstream2distro.utils import env, os_path_join_safe
25from cupstream2distro.errors import PrepError25from cupstream2distro.errors import PrepError
26from cupstream2distro.settings import STABLE_OVERLAY_PPA
2726
28from tests.unit import CITrainScriptTestCase27from tests.unit import CITrainScriptTestCase
2928
@@ -169,87 +168,10 @@
169 env.DISTRIBUTION = 'ubuntu'168 env.DISTRIBUTION = 'ubuntu'
170 env.SERIES = 'wily'169 env.SERIES = 'wily'
171 self.script.lp.distributions = dict(ubuntu=Mock())170 self.script.lp.distributions = dict(ubuntu=Mock())
172 self.script.prepare_sync = Mock()
173 self.script.create_new_state()171 self.script.create_new_state()
174 self.script.SiloState.new_blank.assert_called_once_with(172 self.script.SiloState.new_blank.assert_called_once_with(
175 siloname='ubuntu/landing-123',173 siloname='ubuntu/landing-123',
176 requestid='42')174 requestid='42')
177 self.script.prepare_sync.assert_called_once_with(
178 self.script.SiloState.new_blank.return_value)
179
180 def test_prepare_sync_ppa(self):
181 """Configure syncs correctly from a PPA."""
182 silo_state = Mock()
183 env.DISTRIBUTION = 'ubuntu'
184 env.SERIES = 'wily'
185 env.SOURCES = 'foo, bar, baz'
186 env.SYNC_REQUEST = 'ppa:some/ubuntu/place,vivid'
187 self.script.prepare_sync(silo_state)
188 self.script.lp.get_ppa.assert_called_once_with('some/ubuntu/place')
189 self.assertEqual(silo_state.source_series, 'vivid')
190 self.assertEqual(
191 silo_state.source_archive,
192 self.script.lp.get_ppa.return_value.self_link)
193
194 def test_prepare_sync_silo(self):
195 """Configure syncs correctly from a silo."""
196 silo_state = Mock()
197 env.DISTRIBUTION = 'ubuntu'
198 env.SERIES = 'wily'
199 env.SOURCES = 'foo, bar, baz'
200 env.SYNC_REQUEST = '8'
201 self.script.SiloState.return_value.series.name = 'utopic'
202 self.script.prepare_sync(silo_state)
203 self.script.lp.get_ppa.assert_called_once_with(
204 'ci-train-staging-area/ubuntu/landing-008')
205 self.assertEqual(silo_state.source_series, 'utopic')
206 self.assertEqual(
207 silo_state.source_archive,
208 self.script.lp.get_ppa.return_value.self_link)
209
210 def test_prepare_sync_silo_sources(self):
211 """Configure syncs correctly from a silo."""
212 silo_state = Mock()
213 env.DISTRIBUTION = 'ubuntu'
214 env.SERIES = 'wily'
215 env.SOURCES = ''
216 env.SYNC_REQUEST = '8'
217 self.script.SiloState.return_value.series.name = 'vivid'
218 self.script.prepare_sync(silo_state)
219 self.script.lp.get_ppa.assert_called_once_with(
220 'ci-train-staging-area/ubuntu/landing-008')
221 self.assertEqual(silo_state.source_series, 'vivid')
222 self.assertEqual(
223 silo_state.source_archive,
224 self.script.lp.get_ppa.return_value.self_link)
225
226 def test_prepare_sync_overlay(self):
227 """Configure syncs correctly from the overlay."""
228 silo_state = Mock()
229 env.DISTRIBUTION = 'ubuntu'
230 env.SERIES = 'wily'
231 env.SOURCES = 'foo, bar, baz'
232 env.SYNC_REQUEST = 'stable-overlay'
233 self.script.prepare_sync(silo_state)
234 self.script.lp.get_ppa.assert_called_once_with(STABLE_OVERLAY_PPA)
235 self.assertEqual(silo_state.source_series, 'wily')
236 self.assertEqual(
237 silo_state.source_archive,
238 self.script.lp.get_ppa.return_value.self_link)
239
240 def test_prepare_sync_main(self):
241 """Configure syncs correctly from the main archive."""
242 silo_state = Mock()
243 env.DISTRIBUTION = 'ubuntu'
244 env.SERIES = 'wily'
245 env.SOURCES = 'foo, bar, baz'
246 env.SYNC_REQUEST = 'ubuntu,vivid'
247 ubuntu = Mock()
248 self.script.lp.distributions = dict(ubuntu=ubuntu)
249 self.script.prepare_sync(silo_state)
250 self.assertEqual(silo_state.source_series, 'vivid')
251 self.assertEqual(
252 silo_state.source_archive, ubuntu.main_archive.self_link)
253175
254 def test_check_merge_status(self):176 def test_check_merge_status(self):
255 """Ensure that merges are in acceptable states."""177 """Ensure that merges are in acceptable states."""
256178
=== modified file 'tests/unit/test_silomanager.py'
--- tests/unit/test_silomanager.py 2015-09-05 20:18:00 +0000
+++ tests/unit/test_silomanager.py 2015-09-06 00:07:30 +0000
@@ -86,15 +86,74 @@
86 silomanager.SILO_NAME_LIST = dict(86 silomanager.SILO_NAME_LIST = dict(
87 ubuntu=['ubuntu/landing-00{}'.format(x) for x in range(0, 10)])87 ubuntu=['ubuntu/landing-00{}'.format(x) for x in range(0, 10)])
8888
89 def test_silomanager_refuse_SILO_DIR(self):
90 """Prevent badness from baddening."""
91 self.assertFalse(
92 hasattr(silomanager, 'SILO_DIR'),
93 'SILO_DIR() cannot be trusted inside SiloState class.')
94
89 def test_silostate_requestid(self):95 def test_silostate_requestid(self):
90 """Ensure requestid property behaves sensible."""96 """Ensure requestid property behaves sensible."""
91 func = 'cupstream2distro.silomanager.SILO_DIR'97 func = 'cupstream2distro.silomanager.join'
92 with patch(func, lambda *ingore: self.tempdir + '/step'):98 with patch(func, lambda *ingore: self.tempdir + '/step'):
93 self.state.requestid = '42'99 self.state.requestid = '42'
94 self.assertEqual(self.state._config['requestid'], '42')100 self.assertEqual(self.state._config['requestid'], '42')
95 self.state._config['requestid'] = None101 self.state._config['requestid'] = None
96 self.assertEqual(self.state.requestid, '42')102 self.assertEqual(self.state.requestid, '42')
97103
104 @patch('cupstream2distro.silomanager.lp')
105 def test_silostate_source_archive_ppa(self, lp_mock):
106 """Ensure source_archive property has correct return values."""
107 lp_mock.get_ppa.return_value.distribution.name = 'ubuntu'
108 self.state._bileto.update(sync_request='ppa:team/ubuntu/ppa,vivid')
109 self.assertEqual(
110 self.state.source_archive, lp_mock.get_ppa.return_value)
111 lp_mock.get_ppa.assert_called_once_with('team/ubuntu/ppa')
112 self.assertEqual(self.state.source_series, lp_mock.load.return_value)
113 lp_mock.load.assert_called_once_with('ubuntu/vivid')
114
115 @patch('cupstream2distro.silomanager.lp')
116 @patch('cupstream2distro.silomanager.SiloState')
117 def test_silostate_source_archive_digit(self, ss_mock, lp_mock):
118 """Ensure source_archive property has correct return values."""
119 ss_mock.return_value.series = 'zip'
120 self.state._bileto.update(sync_request='12', distribution='blah')
121 self.assertEqual(
122 self.state.source_archive, lp_mock.get_ppa.return_value)
123 lp_mock.get_ppa.assert_called_once_with(
124 'ci-train-staging-area/blah/landing-012')
125 self.assertEqual(self.state.source_series, 'zip')
126
127 @patch('cupstream2distro.silomanager.lp')
128 def test_silostate_source_archive_stable(self, lp_mock):
129 """Ensure source_archive property has correct return values."""
130 lp_mock.get_ppa.return_value.distribution.name = 'ubuntu'
131 self.state._bileto.update(sync_request='stable-overlay,vivid')
132 self.assertEqual(
133 self.state.source_archive, lp_mock.get_ppa.return_value)
134 lp_mock.get_ppa.assert_called_once_with(
135 'ci-train-staging-area/ubuntu/stable-phone-overlay')
136 self.assertEqual(self.state.source_series, lp_mock.load.return_value)
137 lp_mock.load.assert_called_once_with('ubuntu/vivid')
138
139 @patch('cupstream2distro.silomanager.lp')
140 def test_silostate_source_archive_other(self, lp_mock):
141 """Ensure source_archive property has correct return values."""
142 rtm = Mock()
143 lp_mock.distributions = {'ubuntu-rtm': rtm}
144 rtm.main_archive.distribution.name = 'ubuntu-rtm'
145 self.state._bileto.update(sync_request='ubuntu-rtm,14.09')
146 self.assertEqual(self.state.source_archive, rtm.main_archive)
147 self.assertEqual(self.state.source_series, lp_mock.load.return_value)
148 lp_mock.load.assert_called_once_with('ubuntu-rtm/14.09')
149
150 @patch('cupstream2distro.silomanager.lp')
151 def test_silostate_source_archive_none(self, lp_mock):
152 """Ensure source_archive property has correct return values."""
153 self.state._bileto.update(sync_request='')
154 self.assertIsNone(self.state.source_archive)
155 self.assertIsNone(self.state.source_series)
156
98 def test_mark_packages_dirty(self):157 def test_mark_packages_dirty(self):
99 """Create dirty package marker files."""158 """Create dirty package marker files."""
100 names = ['bleep', 'blorp']159 names = ['bleep', 'blorp']
@@ -250,7 +309,7 @@
250309
251 def test_silostate_new_blank(self):310 def test_silostate_new_blank(self):
252 """Create a new SiloState instance for a fresh silo assignment."""311 """Create a new SiloState instance for a fresh silo assignment."""
253 methodname = 'cupstream2distro.silomanager.SILO_DIR'312 methodname = 'cupstream2distro.silomanager.join'
254 with patch(methodname, lambda *ignore: self.tempdir + '/request_id'):313 with patch(methodname, lambda *ignore: self.tempdir + '/request_id'):
255 silo_state = SiloState.new_blank(314 silo_state = SiloState.new_blank(
256 siloname='ubuntu/landing-789',315 siloname='ubuntu/landing-789',
@@ -620,7 +679,7 @@
620679
621 def test_silostate_step_setters(self):680 def test_silostate_step_setters(self):
622 """Set various silo steps."""681 """Set various silo steps."""
623 func = 'cupstream2distro.silomanager.SILO_DIR'682 func = 'cupstream2distro.silomanager.join'
624 with patch(func, lambda *ingore: self.tempdir + '/step'):683 with patch(func, lambda *ingore: self.tempdir + '/step'):
625 self.state.set_empty()684 self.state.set_empty()
626 self.assertEqual(self.state._config['global']['step'], 0)685 self.assertEqual(self.state._config['global']['step'], 0)
@@ -686,14 +745,10 @@
686 """Set various state properties."""745 """Set various state properties."""
687 self.state.mps = 'flibbyjib'746 self.state.mps = 'flibbyjib'
688 self.assertEqual(self.state._config['mps'], 'flibbyjib')747 self.assertEqual(self.state._config['mps'], 'flibbyjib')
689 self.state.source_archive = 'ubuntu'
690 self.assertEqual(self.state._config['source_archive'], 'ubuntu')
691 self.state.source_series = 'vivid'
692 self.assertEqual(self.state._config['source_series'], 'vivid')
693748
694 def test_silostate_set_ready(self):749 def test_silostate_set_ready(self):
695 """Set ready to build status."""750 """Set ready to build status."""
696 func = 'cupstream2distro.silomanager.SILO_DIR'751 func = 'cupstream2distro.silomanager.join'
697 with patch(func, lambda *ingore: self.tempdir + '/step'):752 with patch(func, lambda *ingore: self.tempdir + '/step'):
698 status_mock = self.state.set_config_status = Mock()753 status_mock = self.state.set_config_status = Mock()
699 self.state.set_ready()754 self.state.set_ready()
@@ -702,7 +757,7 @@
702757
703 def test_silostate_set_reconfigure_failed(self):758 def test_silostate_set_reconfigure_failed(self):
704 """Set reconfigure failed status."""759 """Set reconfigure failed status."""
705 func = 'cupstream2distro.silomanager.SILO_DIR'760 func = 'cupstream2distro.silomanager.join'
706 with patch(func, lambda *ingore: self.tempdir + '/step'):761 with patch(func, lambda *ingore: self.tempdir + '/step'):
707 status_mock = self.state.set_config_status = Mock()762 status_mock = self.state.set_config_status = Mock()
708 self.state.set_reconfigure_failed('You did a bad thing.')763 self.state.set_reconfigure_failed('You did a bad thing.')
@@ -742,7 +797,7 @@
742 silomanager.save_error_message('Whoa, errors galore!')797 silomanager.save_error_message('Whoa, errors galore!')
743 silostate.assert_called_once_with('my/fake/silo')798 silostate.assert_called_once_with('my/fake/silo')
744 silostate().set_config_status.assert_called_once_with(799 silostate().set_config_status.assert_called_once_with(
745 -1, 'Whoa, errors galore!')800 'Whoa, errors galore!')
746 silostate().save_config.assert_called_once_with()801 silostate().save_config.assert_called_once_with()
747802
748 @patch('cupstream2distro.silomanager.SiloState')803 @patch('cupstream2distro.silomanager.SiloState')
@@ -778,5 +833,5 @@
778 silomanager.cleanup_on_exception(None, Exception('It broke'), None)833 silomanager.cleanup_on_exception(None, Exception('It broke'), None)
779 silostate.assert_called_once_with('ubuntu/landing-negative-one')834 silostate.assert_called_once_with('ubuntu/landing-negative-one')
780 silostate().set_config_status.assert_called_once_with(835 silostate().set_config_status.assert_called_once_with(
781 -1, 'Uncaught exception: Exception: It broke')836 'Uncaught exception: Exception: It broke')
782 silostate().save_config.assert_called_once_with()837 silostate().save_config.assert_called_once_with()

Subscribers

People subscribed via source and target branches