Merge lp:~mandel/ubuntuone-client/sdtool_start_method into lp:ubuntuone-client
- sdtool_start_method
- Merge into trunk
Proposed by
Manuel de la Peña
Status: | Merged |
---|---|
Approved by: | Natalia Bidart |
Approved revision: | 1066 |
Merged at revision: | 1033 |
Proposed branch: | lp:~mandel/ubuntuone-client/sdtool_start_method |
Merge into: | lp:ubuntuone-client |
Diff against target: |
473 lines (+91/-3) 2 files modified
tests/platform/windows/test_tools.py (+81/-2) ubuntuone/platform/windows/tools.py (+10/-1) |
To merge this branch: | bzr merge lp:~mandel/ubuntuone-client/sdtool_start_method |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Natalia Bidart (community) | Approve | ||
Roberto Alsina (community) | Approve | ||
Review via email: mp+66448@code.launchpad.net |
Commit message
Allows to start the syncdaemon by providing a start method to sdtool.
Description of the change
Allows to start the syncdaemon by providing a start method to sdtool. To tests please runthe following:
python C:\Python27\
In the method is correctly implemented you will see notepad being executed and close during the tests.
To post a comment you must log in.
Revision history for this message
Natalia Bidart (nataliabidart) wrote : | # |
I had the wrong PYTHONPATH set, tests actually pass. But can we please mock subcprocess to avoid having a notepad window being opened?
review:
Needs Fixing
- 1065. By Manuel de la Peña
-
Mock subprocess so that we do not start a real app.
- 1066. By Manuel de la Peña
-
Merged with changes on linux.
Revision history for this message
Roberto Alsina (ralsina) wrote : | # |
Code looks ok, tests pass.
review:
Approve
Revision history for this message
Natalia Bidart (nataliabidart) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'tests/platform/windows/test_tools.py' | |||
2 | --- tests/platform/windows/test_tools.py 2011-06-23 16:33:20 +0000 | |||
3 | +++ tests/platform/windows/test_tools.py 2011-06-30 14:22:30 +0000 | |||
4 | @@ -24,7 +24,10 @@ | |||
5 | 24 | PBServerFactory, | 24 | PBServerFactory, |
6 | 25 | Root) | 25 | Root) |
7 | 26 | 26 | ||
9 | 27 | from ubuntuone.platform.windows.tools import SyncDaemonTool | 27 | from ubuntuone.platform.windows.tools import ( |
10 | 28 | SyncDaemonTool, | ||
11 | 29 | U1_REG_PATH, | ||
12 | 30 | SD_INSTALL_PATH) | ||
13 | 28 | from ubuntuone.platform.windows.ipc import ( | 31 | from ubuntuone.platform.windows.ipc import ( |
14 | 29 | Config, | 32 | Config, |
15 | 30 | Events, | 33 | Events, |
16 | @@ -168,6 +171,7 @@ | |||
17 | 168 | self.mocker.result(downloads) | 171 | self.mocker.result(downloads) |
18 | 169 | self.mocker.replay() | 172 | self.mocker.replay() |
19 | 170 | result = yield sdtool.get_current_downloads() | 173 | result = yield sdtool.get_current_downloads() |
20 | 174 | self.mocker.restore() | ||
21 | 171 | self.mocker.verify() | 175 | self.mocker.verify() |
22 | 172 | self.assertEqual(downloads, result) | 176 | self.assertEqual(downloads, result) |
23 | 173 | 177 | ||
24 | @@ -189,6 +193,7 @@ | |||
25 | 189 | self.mocker.replay() | 193 | self.mocker.replay() |
26 | 190 | self.mocker.result(uploads) | 194 | self.mocker.result(uploads) |
27 | 191 | result = yield sdtool.get_current_uploads() | 195 | result = yield sdtool.get_current_uploads() |
28 | 196 | self.mocker.restore() | ||
29 | 192 | self.mocker.verify() | 197 | self.mocker.verify() |
30 | 193 | self.assertEqual(uploads, result) | 198 | self.assertEqual(uploads, result) |
31 | 194 | 199 | ||
32 | @@ -208,6 +213,7 @@ | |||
33 | 208 | self.root.wait_for_nirvana(last_event_interval, ANY, ANY) | 213 | self.root.wait_for_nirvana(last_event_interval, ANY, ANY) |
34 | 209 | self.mocker.replay() | 214 | self.mocker.replay() |
35 | 210 | yield sdtool.wait_for_nirvana() | 215 | yield sdtool.wait_for_nirvana() |
36 | 216 | self.mocker.restore() | ||
37 | 211 | self.mocker.verify() | 217 | self.mocker.verify() |
38 | 212 | 218 | ||
39 | 213 | d = self._connect() | 219 | d = self._connect() |
40 | @@ -226,6 +232,7 @@ | |||
41 | 226 | self.root.accept_share(share_id, ANY, ANY) | 232 | self.root.accept_share(share_id, ANY, ANY) |
42 | 227 | self.mocker.replay() | 233 | self.mocker.replay() |
43 | 228 | yield sdtool.accept_share(share_id) | 234 | yield sdtool.accept_share(share_id) |
44 | 235 | self.mocker.restore() | ||
45 | 229 | self.mocker.verify() | 236 | self.mocker.verify() |
46 | 230 | 237 | ||
47 | 231 | d = self._connect() | 238 | d = self._connect() |
48 | @@ -244,6 +251,7 @@ | |||
49 | 244 | self.root.reject_share(share_id, ANY, ANY) | 251 | self.root.reject_share(share_id, ANY, ANY) |
50 | 245 | self.mocker.replay() | 252 | self.mocker.replay() |
51 | 246 | yield sdtool.reject_share(share_id) | 253 | yield sdtool.reject_share(share_id) |
52 | 254 | self.mocker.restore() | ||
53 | 247 | self.mocker.verify() | 255 | self.mocker.verify() |
54 | 248 | 256 | ||
55 | 249 | d = self._connect() | 257 | d = self._connect() |
56 | @@ -262,6 +270,7 @@ | |||
57 | 262 | self.root.subscribe(share_id) | 270 | self.root.subscribe(share_id) |
58 | 263 | self.mocker.replay() | 271 | self.mocker.replay() |
59 | 264 | yield sdtool.subscribe_share(share_id) | 272 | yield sdtool.subscribe_share(share_id) |
60 | 273 | self.mocker.restore() | ||
61 | 265 | self.mocker.verify() | 274 | self.mocker.verify() |
62 | 266 | 275 | ||
63 | 267 | d = self._connect() | 276 | d = self._connect() |
64 | @@ -280,6 +289,7 @@ | |||
65 | 280 | self.root.unsubscribe(share_id) | 289 | self.root.unsubscribe(share_id) |
66 | 281 | self.mocker.replay() | 290 | self.mocker.replay() |
67 | 282 | yield sdtool.unsubscribe_share(share_id) | 291 | yield sdtool.unsubscribe_share(share_id) |
68 | 292 | self.mocker.restore() | ||
69 | 283 | self.mocker.verify() | 293 | self.mocker.verify() |
70 | 284 | 294 | ||
71 | 285 | d = self._connect() | 295 | d = self._connect() |
72 | @@ -300,6 +310,7 @@ | |||
73 | 300 | self.mocker.result(shares) | 310 | self.mocker.result(shares) |
74 | 301 | self.mocker.replay() | 311 | self.mocker.replay() |
75 | 302 | yield sdtool.get_shares() | 312 | yield sdtool.get_shares() |
76 | 313 | self.mocker.restore() | ||
77 | 303 | self.mocker.verify() | 314 | self.mocker.verify() |
78 | 304 | 315 | ||
79 | 305 | d = self._connect() | 316 | d = self._connect() |
80 | @@ -317,6 +328,7 @@ | |||
81 | 317 | self.root.refresh_shares() | 328 | self.root.refresh_shares() |
82 | 318 | self.mocker.replay() | 329 | self.mocker.replay() |
83 | 319 | yield sdtool.refresh_shares() | 330 | yield sdtool.refresh_shares() |
84 | 331 | self.mocker.restore() | ||
85 | 320 | self.mocker.verify() | 332 | self.mocker.verify() |
86 | 321 | 333 | ||
87 | 322 | d = self._connect() | 334 | d = self._connect() |
88 | @@ -338,6 +350,7 @@ | |||
89 | 338 | self.root.create_share(path, username, name, access_level) | 350 | self.root.create_share(path, username, name, access_level) |
90 | 339 | self.mocker.replay() | 351 | self.mocker.replay() |
91 | 340 | yield sdtool.offer_share(path, username, name, access_level) | 352 | yield sdtool.offer_share(path, username, name, access_level) |
92 | 353 | self.mocker.restore() | ||
93 | 341 | self.mocker.verify() | 354 | self.mocker.verify() |
94 | 342 | 355 | ||
95 | 343 | d = self._connect() | 356 | d = self._connect() |
96 | @@ -358,6 +371,7 @@ | |||
97 | 358 | self.mocker.result(shares) | 371 | self.mocker.result(shares) |
98 | 359 | self.mocker.replay() | 372 | self.mocker.replay() |
99 | 360 | yield sdtool.list_shared() | 373 | yield sdtool.list_shared() |
100 | 374 | self.mocker.restore() | ||
101 | 361 | self.mocker.verify() | 375 | self.mocker.verify() |
102 | 362 | 376 | ||
103 | 363 | d = self._connect() | 377 | d = self._connect() |
104 | @@ -376,6 +390,7 @@ | |||
105 | 376 | self.root.create(path) | 390 | self.root.create(path) |
106 | 377 | self.mocker.replay() | 391 | self.mocker.replay() |
107 | 378 | yield sdtool.create_folder(path) | 392 | yield sdtool.create_folder(path) |
108 | 393 | self.mocker.restore() | ||
109 | 379 | self.mocker.verify() | 394 | self.mocker.verify() |
110 | 380 | 395 | ||
111 | 381 | d = self._connect() | 396 | d = self._connect() |
112 | @@ -394,6 +409,7 @@ | |||
113 | 394 | self.root.delete(folder_id) | 409 | self.root.delete(folder_id) |
114 | 395 | self.mocker.replay() | 410 | self.mocker.replay() |
115 | 396 | yield sdtool.delete_folder(folder_id) | 411 | yield sdtool.delete_folder(folder_id) |
116 | 412 | self.mocker.restore() | ||
117 | 397 | self.mocker.verify() | 413 | self.mocker.verify() |
118 | 398 | 414 | ||
119 | 399 | d = self._connect() | 415 | d = self._connect() |
120 | @@ -412,6 +428,7 @@ | |||
121 | 412 | self.root.subscribe(folder_id ) | 428 | self.root.subscribe(folder_id ) |
122 | 413 | self.mocker.replay() | 429 | self.mocker.replay() |
123 | 414 | yield sdtool.subscribe_folder(folder_id ) | 430 | yield sdtool.subscribe_folder(folder_id ) |
124 | 431 | self.mocker.restore() | ||
125 | 415 | self.mocker.verify() | 432 | self.mocker.verify() |
126 | 416 | 433 | ||
127 | 417 | d = self._connect() | 434 | d = self._connect() |
128 | @@ -430,6 +447,7 @@ | |||
129 | 430 | self.root.unsubscribe(folder_id) | 447 | self.root.unsubscribe(folder_id) |
130 | 431 | self.mocker.replay() | 448 | self.mocker.replay() |
131 | 432 | yield sdtool.unsubscribe_folder(folder_id) | 449 | yield sdtool.unsubscribe_folder(folder_id) |
132 | 450 | self.mocker.restore() | ||
133 | 433 | self.mocker.verify() | 451 | self.mocker.verify() |
134 | 434 | 452 | ||
135 | 435 | d = self._connect() | 453 | d = self._connect() |
136 | @@ -450,6 +468,7 @@ | |||
137 | 450 | self.mocker.result(folders) | 468 | self.mocker.result(folders) |
138 | 451 | self.mocker.replay() | 469 | self.mocker.replay() |
139 | 452 | yield sdtool.get_folders() | 470 | yield sdtool.get_folders() |
140 | 471 | self.mocker.restore() | ||
141 | 453 | self.mocker.verify() | 472 | self.mocker.verify() |
142 | 454 | 473 | ||
143 | 455 | d = self._connect() | 474 | d = self._connect() |
144 | @@ -468,6 +487,7 @@ | |||
145 | 468 | self.root.get_info(path) | 487 | self.root.get_info(path) |
146 | 469 | self.mocker.replay() | 488 | self.mocker.replay() |
147 | 470 | yield client.get_folder_info(path) | 489 | yield client.get_folder_info(path) |
148 | 490 | self.mocker.restore() | ||
149 | 471 | self.mocker.verify() | 491 | self.mocker.verify() |
150 | 472 | 492 | ||
151 | 473 | d = self._connect() | 493 | d = self._connect() |
152 | @@ -486,6 +506,7 @@ | |||
153 | 486 | self.root.get_metadata(path) | 506 | self.root.get_metadata(path) |
154 | 487 | self.mocker.replay() | 507 | self.mocker.replay() |
155 | 488 | yield sdtool.get_metadata(path) | 508 | yield sdtool.get_metadata(path) |
156 | 509 | self.mocker.restore() | ||
157 | 489 | self.mocker.verify() | 510 | self.mocker.verify() |
158 | 490 | 511 | ||
159 | 491 | d = self._connect() | 512 | d = self._connect() |
160 | @@ -510,6 +531,7 @@ | |||
161 | 510 | self.root.change_public_access(share_id, node_id, is_public) | 531 | self.root.change_public_access(share_id, node_id, is_public) |
162 | 511 | self.mocker.replay() | 532 | self.mocker.replay() |
163 | 512 | yield sdtool.change_public_access(path, is_public) | 533 | yield sdtool.change_public_access(path, is_public) |
164 | 534 | self.mocker.restore() | ||
165 | 513 | self.mocker.verify() | 535 | self.mocker.verify() |
166 | 514 | 536 | ||
167 | 515 | d = self._connect() | 537 | d = self._connect() |
168 | @@ -529,6 +551,7 @@ | |||
169 | 529 | self.root.quit(None, None) | 551 | self.root.quit(None, None) |
170 | 530 | self.mocker.replay() | 552 | self.mocker.replay() |
171 | 531 | yield sdtool.quit() | 553 | yield sdtool.quit() |
172 | 554 | self.mocker.restore() | ||
173 | 532 | self.mocker.verify() | 555 | self.mocker.verify() |
174 | 533 | 556 | ||
175 | 534 | d = self._connect() | 557 | d = self._connect() |
176 | @@ -546,6 +569,7 @@ | |||
177 | 546 | self.root.connect() | 569 | self.root.connect() |
178 | 547 | self.mocker.replay() | 570 | self.mocker.replay() |
179 | 548 | yield sdtool.connect() | 571 | yield sdtool.connect() |
180 | 572 | self.mocker.restore() | ||
181 | 549 | self.mocker.verify() | 573 | self.mocker.verify() |
182 | 550 | 574 | ||
183 | 551 | d = self._connect() | 575 | d = self._connect() |
184 | @@ -563,6 +587,7 @@ | |||
185 | 563 | self.root.disconnect() | 587 | self.root.disconnect() |
186 | 564 | self.mocker.replay() | 588 | self.mocker.replay() |
187 | 565 | yield sdtool.disconnect() | 589 | yield sdtool.disconnect() |
188 | 590 | self.mocker.restore() | ||
189 | 566 | self.mocker.verify() | 591 | self.mocker.verify() |
190 | 567 | 592 | ||
191 | 568 | d = self._connect() | 593 | d = self._connect() |
192 | @@ -582,6 +607,7 @@ | |||
193 | 582 | self.mocker.result(status) | 607 | self.mocker.result(status) |
194 | 583 | self.mocker.replay() | 608 | self.mocker.replay() |
195 | 584 | yield sdtool.get_status() | 609 | yield sdtool.get_status() |
196 | 610 | self.mocker.restore() | ||
197 | 585 | self.mocker.verify() | 611 | self.mocker.verify() |
198 | 586 | 612 | ||
199 | 587 | d = self._connect() | 613 | d = self._connect() |
200 | @@ -600,6 +626,7 @@ | |||
201 | 600 | self.mocker.result({}) | 626 | self.mocker.result({}) |
202 | 601 | self.mocker.replay() | 627 | self.mocker.replay() |
203 | 602 | yield sdtool.waiting() | 628 | yield sdtool.waiting() |
204 | 629 | self.mocker.restore() | ||
205 | 603 | self.mocker.verify() | 630 | self.mocker.verify() |
206 | 604 | 631 | ||
207 | 605 | d = self._connect() | 632 | d = self._connect() |
208 | @@ -617,6 +644,7 @@ | |||
209 | 617 | self.root.waiting_metadata() | 644 | self.root.waiting_metadata() |
210 | 618 | self.mocker.replay() | 645 | self.mocker.replay() |
211 | 619 | yield sdtool.waiting_metadata() | 646 | yield sdtool.waiting_metadata() |
212 | 647 | self.mocker.restore() | ||
213 | 620 | self.mocker.verify() | 648 | self.mocker.verify() |
214 | 621 | 649 | ||
215 | 622 | d = self._connect() | 650 | d = self._connect() |
216 | @@ -634,6 +662,7 @@ | |||
217 | 634 | self.root.waiting_content() | 662 | self.root.waiting_content() |
218 | 635 | self.mocker.replay() | 663 | self.mocker.replay() |
219 | 636 | yield sdtool.waiting_content() | 664 | yield sdtool.waiting_content() |
220 | 665 | self.mocker.restore() | ||
221 | 637 | self.mocker.verify() | 666 | self.mocker.verify() |
222 | 638 | 667 | ||
223 | 639 | d = self._connect() | 668 | d = self._connect() |
224 | @@ -651,6 +680,7 @@ | |||
225 | 651 | self.root.get_throttling_limits(ANY, ANY) | 680 | self.root.get_throttling_limits(ANY, ANY) |
226 | 652 | self.mocker.replay() | 681 | self.mocker.replay() |
227 | 653 | yield sdtool.get_throttling_limits() | 682 | yield sdtool.get_throttling_limits() |
228 | 683 | self.mocker.restore() | ||
229 | 654 | self.mocker.verify() | 684 | self.mocker.verify() |
230 | 655 | 685 | ||
231 | 656 | d = self._connect() | 686 | d = self._connect() |
232 | @@ -670,6 +700,7 @@ | |||
233 | 670 | self.root.set_throttling_limits(download, upload, ANY, ANY) | 700 | self.root.set_throttling_limits(download, upload, ANY, ANY) |
234 | 671 | self.mocker.replay() | 701 | self.mocker.replay() |
235 | 672 | yield sdtool.set_throttling_limits(download, upload) | 702 | yield sdtool.set_throttling_limits(download, upload) |
236 | 703 | self.mocker.restore() | ||
237 | 673 | self.mocker.verify() | 704 | self.mocker.verify() |
238 | 674 | 705 | ||
239 | 675 | d = self._connect() | 706 | d = self._connect() |
240 | @@ -688,6 +719,7 @@ | |||
241 | 688 | self.mocker.result(True) | 719 | self.mocker.result(True) |
242 | 689 | self.mocker.replay() | 720 | self.mocker.replay() |
243 | 690 | result = yield sdtool.is_throttling_enabled() | 721 | result = yield sdtool.is_throttling_enabled() |
244 | 722 | self.mocker.restore() | ||
245 | 691 | self.mocker.verify() | 723 | self.mocker.verify() |
246 | 692 | self.assertTrue(result) | 724 | self.assertTrue(result) |
247 | 693 | 725 | ||
248 | @@ -706,6 +738,7 @@ | |||
249 | 706 | self.root.enable_bandwidth_throttling(ANY, ANY) | 738 | self.root.enable_bandwidth_throttling(ANY, ANY) |
250 | 707 | self.mocker.replay() | 739 | self.mocker.replay() |
251 | 708 | yield sdtool.enable_throttling(True) | 740 | yield sdtool.enable_throttling(True) |
252 | 741 | self.mocker.restore() | ||
253 | 709 | self.mocker.verify() | 742 | self.mocker.verify() |
254 | 710 | 743 | ||
255 | 711 | d = self._connect() | 744 | d = self._connect() |
256 | @@ -723,6 +756,7 @@ | |||
257 | 723 | self.root.disable_bandwidth_throttling(ANY, ANY) | 756 | self.root.disable_bandwidth_throttling(ANY, ANY) |
258 | 724 | self.mocker.replay() | 757 | self.mocker.replay() |
259 | 725 | yield sdtool.enable_throttling(False) | 758 | yield sdtool.enable_throttling(False) |
260 | 759 | self.mocker.restore() | ||
261 | 726 | self.mocker.verify() | 760 | self.mocker.verify() |
262 | 727 | 761 | ||
263 | 728 | d = self._connect() | 762 | d = self._connect() |
264 | @@ -741,6 +775,7 @@ | |||
265 | 741 | self.mocker.replay() | 775 | self.mocker.replay() |
266 | 742 | self.mocker.result(True) | 776 | self.mocker.result(True) |
267 | 743 | result = yield sdtool.is_autoconnect_enabled() | 777 | result = yield sdtool.is_autoconnect_enabled() |
268 | 778 | self.mocker.restore() | ||
269 | 744 | self.mocker.verify() | 779 | self.mocker.verify() |
270 | 745 | self.assertTrue(result) | 780 | self.assertTrue(result) |
271 | 746 | 781 | ||
272 | @@ -760,6 +795,7 @@ | |||
273 | 760 | self.root.set_autoconnect_enabled(enabled) | 795 | self.root.set_autoconnect_enabled(enabled) |
274 | 761 | self.mocker.replay() | 796 | self.mocker.replay() |
275 | 762 | yield sdtool.enable_autoconnect(enabled) | 797 | yield sdtool.enable_autoconnect(enabled) |
276 | 798 | self.mocker.restore() | ||
277 | 763 | self.mocker.verify() | 799 | self.mocker.verify() |
278 | 764 | 800 | ||
279 | 765 | d = self._connect() | 801 | d = self._connect() |
280 | @@ -778,6 +814,7 @@ | |||
281 | 778 | self.mocker.result(True) | 814 | self.mocker.result(True) |
282 | 779 | self.mocker.replay() | 815 | self.mocker.replay() |
283 | 780 | result = yield sdtool.is_show_all_notifications_enabled() | 816 | result = yield sdtool.is_show_all_notifications_enabled() |
284 | 817 | self.mocker.restore() | ||
285 | 781 | self.mocker.verify() | 818 | self.mocker.verify() |
286 | 782 | self.assertTrue(result) | 819 | self.assertTrue(result) |
287 | 783 | 820 | ||
288 | @@ -796,6 +833,7 @@ | |||
289 | 796 | self.root.enable_show_all_notifications() | 833 | self.root.enable_show_all_notifications() |
290 | 797 | self.mocker.replay() | 834 | self.mocker.replay() |
291 | 798 | yield sdtool.enable_show_all_notifications(True) | 835 | yield sdtool.enable_show_all_notifications(True) |
292 | 836 | self.mocker.restore() | ||
293 | 799 | self.mocker.verify() | 837 | self.mocker.verify() |
294 | 800 | 838 | ||
295 | 801 | d = self._connect() | 839 | d = self._connect() |
296 | @@ -813,6 +851,7 @@ | |||
297 | 813 | self.root.disable_show_all_notifications() | 851 | self.root.disable_show_all_notifications() |
298 | 814 | self.mocker.replay() | 852 | self.mocker.replay() |
299 | 815 | yield sdtool.enable_show_all_notifications(False) | 853 | yield sdtool.enable_show_all_notifications(False) |
300 | 854 | self.mocker.restore() | ||
301 | 816 | self.mocker.verify() | 855 | self.mocker.verify() |
302 | 817 | 856 | ||
303 | 818 | d = self._connect() | 857 | d = self._connect() |
304 | @@ -831,6 +870,7 @@ | |||
305 | 831 | self.mocker.result(True) | 870 | self.mocker.result(True) |
306 | 832 | self.mocker.replay() | 871 | self.mocker.replay() |
307 | 833 | result = yield sdtool.is_share_autosubscribe_enabled() | 872 | result = yield sdtool.is_share_autosubscribe_enabled() |
308 | 873 | self.mocker.restore() | ||
309 | 834 | self.mocker.verify() | 874 | self.mocker.verify() |
310 | 835 | self.assertTrue(result) | 875 | self.assertTrue(result) |
311 | 836 | 876 | ||
312 | @@ -849,6 +889,7 @@ | |||
313 | 849 | self.root.enable_share_autosubscribe() | 889 | self.root.enable_share_autosubscribe() |
314 | 850 | self.mocker.replay() | 890 | self.mocker.replay() |
315 | 851 | yield sdtool.enable_share_autosubscribe(True) | 891 | yield sdtool.enable_share_autosubscribe(True) |
316 | 892 | self.mocker.restore() | ||
317 | 852 | self.mocker.verify() | 893 | self.mocker.verify() |
318 | 853 | 894 | ||
319 | 854 | d = self._connect() | 895 | d = self._connect() |
320 | @@ -866,6 +907,7 @@ | |||
321 | 866 | self.root.disable_share_autosubscribe() | 907 | self.root.disable_share_autosubscribe() |
322 | 867 | self.mocker.replay() | 908 | self.mocker.replay() |
323 | 868 | yield sdtool.enable_share_autosubscribe(False) | 909 | yield sdtool.enable_share_autosubscribe(False) |
324 | 910 | self.mocker.restore() | ||
325 | 869 | self.mocker.verify() | 911 | self.mocker.verify() |
326 | 870 | 912 | ||
327 | 871 | d = self._connect() | 913 | d = self._connect() |
328 | @@ -884,6 +926,7 @@ | |||
329 | 884 | self.mocker.result(True) | 926 | self.mocker.result(True) |
330 | 885 | self.mocker.replay() | 927 | self.mocker.replay() |
331 | 886 | result = yield sdtool.is_udf_autosubscribe_enabled() | 928 | result = yield sdtool.is_udf_autosubscribe_enabled() |
332 | 929 | self.mocker.restore() | ||
333 | 887 | self.mocker.verify() | 930 | self.mocker.verify() |
334 | 888 | self.assertTrue(result) | 931 | self.assertTrue(result) |
335 | 889 | 932 | ||
336 | @@ -902,6 +945,7 @@ | |||
337 | 902 | self.root.enable_udf_autosubscribe() | 945 | self.root.enable_udf_autosubscribe() |
338 | 903 | self.mocker.replay() | 946 | self.mocker.replay() |
339 | 904 | yield sdtool.enable_udf_autosubscribe(True) | 947 | yield sdtool.enable_udf_autosubscribe(True) |
340 | 948 | self.mocker.restore() | ||
341 | 905 | self.mocker.verify() | 949 | self.mocker.verify() |
342 | 906 | 950 | ||
343 | 907 | d = self._connect() | 951 | d = self._connect() |
344 | @@ -919,6 +963,7 @@ | |||
345 | 919 | self.root.disable_udf_autosubscribe() | 963 | self.root.disable_udf_autosubscribe() |
346 | 920 | self.mocker.replay() | 964 | self.mocker.replay() |
347 | 921 | yield sdtool.enable_udf_autosubscribe(False) | 965 | yield sdtool.enable_udf_autosubscribe(False) |
348 | 966 | self.mocker.restore() | ||
349 | 922 | self.mocker.verify() | 967 | self.mocker.verify() |
350 | 923 | 968 | ||
351 | 924 | d = self._connect() | 969 | d = self._connect() |
352 | @@ -936,6 +981,7 @@ | |||
353 | 936 | self.root.refresh_volumes() | 981 | self.root.refresh_volumes() |
354 | 937 | self.mocker.replay() | 982 | self.mocker.replay() |
355 | 938 | yield sdtool.refresh_volumes() | 983 | yield sdtool.refresh_volumes() |
356 | 984 | self.mocker.restore() | ||
357 | 939 | self.mocker.verify() | 985 | self.mocker.verify() |
358 | 940 | 986 | ||
359 | 941 | d = self._connect() | 987 | d = self._connect() |
360 | @@ -954,6 +1000,7 @@ | |||
361 | 954 | self.root.rescan_from_scratch(volume_id) | 1000 | self.root.rescan_from_scratch(volume_id) |
362 | 955 | self.mocker.replay() | 1001 | self.mocker.replay() |
363 | 956 | yield sdtool.rescan_from_scratch(volume_id) | 1002 | yield sdtool.rescan_from_scratch(volume_id) |
364 | 1003 | self.mocker.restore() | ||
365 | 957 | self.mocker.verify() | 1004 | self.mocker.verify() |
366 | 958 | 1005 | ||
367 | 959 | d = self._connect() | 1006 | d = self._connect() |
368 | @@ -973,6 +1020,7 @@ | |||
369 | 973 | self.mocker.result(dirty_nodes) | 1020 | self.mocker.result(dirty_nodes) |
370 | 974 | self.mocker.replay() | 1021 | self.mocker.replay() |
371 | 975 | result = yield sdtool.get_dirty_nodes() | 1022 | result = yield sdtool.get_dirty_nodes() |
372 | 1023 | self.mocker.restore() | ||
373 | 976 | self.mocker.verify() | 1024 | self.mocker.verify() |
374 | 977 | self.assertEqual(dirty_nodes, result) | 1025 | self.assertEqual(dirty_nodes, result) |
375 | 978 | 1026 | ||
376 | @@ -993,6 +1041,7 @@ | |||
377 | 993 | self.mocker.result(root) | 1041 | self.mocker.result(root) |
378 | 994 | self.mocker.replay() | 1042 | self.mocker.replay() |
379 | 995 | result = yield sdtool.get_root_dir() | 1043 | result = yield sdtool.get_root_dir() |
380 | 1044 | self.mocker.restore() | ||
381 | 996 | self.mocker.verify() | 1045 | self.mocker.verify() |
382 | 997 | self.assertEqual(root, result) | 1046 | self.assertEqual(root, result) |
383 | 998 | 1047 | ||
384 | @@ -1013,6 +1062,7 @@ | |||
385 | 1013 | self.mocker.result(shares_dir) | 1062 | self.mocker.result(shares_dir) |
386 | 1014 | self.mocker.replay() | 1063 | self.mocker.replay() |
387 | 1015 | result = yield sdtool.get_shares_dir() | 1064 | result = yield sdtool.get_shares_dir() |
388 | 1065 | self.mocker.restore() | ||
389 | 1016 | self.mocker.verify() | 1066 | self.mocker.verify() |
390 | 1017 | self.assertEqual(shares_dir, result) | 1067 | self.assertEqual(shares_dir, result) |
391 | 1018 | 1068 | ||
392 | @@ -1033,6 +1083,7 @@ | |||
393 | 1033 | self.mocker.result(link) | 1083 | self.mocker.result(link) |
394 | 1034 | self.mocker.replay() | 1084 | self.mocker.replay() |
395 | 1035 | result = yield sdtool.get_shares_dir_link() | 1085 | result = yield sdtool.get_shares_dir_link() |
396 | 1086 | self.mocker.restore() | ||
397 | 1036 | self.mocker.verify() | 1087 | self.mocker.verify() |
398 | 1037 | self.assertEqual(link, result) | 1088 | self.assertEqual(link, result) |
399 | 1038 | 1089 | ||
400 | @@ -1040,4 +1091,32 @@ | |||
401 | 1040 | # pylint: disable=E1101 | 1091 | # pylint: disable=E1101 |
402 | 1041 | d.addCallback(test_execution) | 1092 | d.addCallback(test_execution) |
403 | 1042 | # pylint: enable=E1101 | 1093 | # pylint: enable=E1101 |
405 | 1043 | return d | 1094 | return d |
406 | 1095 | |||
407 | 1096 | def test_start(self): | ||
408 | 1097 | """Test that we can indeed start the process.""" | ||
409 | 1098 | cmd = 'notepad' | ||
410 | 1099 | |||
411 | 1100 | @defer.inlineCallbacks | ||
412 | 1101 | def test_execution(sdtool): | ||
413 | 1102 | """Actual test.""" | ||
414 | 1103 | open_key = self.mocker.replace('_winreg.OpenKey') | ||
415 | 1104 | query_value = self.mocker.replace('_winreg.QueryValueEx') | ||
416 | 1105 | subprocess = self.mocker.replace('subprocess.Popen') | ||
417 | 1106 | # set the expectations | ||
418 | 1107 | open_key(ANY, U1_REG_PATH) | ||
419 | 1108 | query_value(None, SD_INSTALL_PATH) | ||
420 | 1109 | self.mocker.result([cmd,]) | ||
421 | 1110 | subprocess([cmd,]) | ||
422 | 1111 | self.mocker.result(cmd) | ||
423 | 1112 | self.mocker.replay() | ||
424 | 1113 | process = yield sdtool.start() | ||
425 | 1114 | self.mocker.restore() | ||
426 | 1115 | self.mocker.verify() | ||
427 | 1116 | self.assertEqual(cmd, process) | ||
428 | 1117 | |||
429 | 1118 | d = self._connect() | ||
430 | 1119 | # pylint: disable=E1101 | ||
431 | 1120 | d.addCallback(test_execution) | ||
432 | 1121 | # pylint: enable=E1101 | ||
433 | 1122 | return d | ||
434 | 1044 | \ No newline at end of file | 1123 | \ No newline at end of file |
435 | 1045 | 1124 | ||
436 | === modified file 'ubuntuone/platform/windows/tools.py' | |||
437 | --- ubuntuone/platform/windows/tools.py 2011-06-27 15:57:03 +0000 | |||
438 | +++ ubuntuone/platform/windows/tools.py 2011-06-30 14:22:30 +0000 | |||
439 | @@ -21,17 +21,21 @@ | |||
440 | 21 | 21 | ||
441 | 22 | import logging | 22 | import logging |
442 | 23 | import time | 23 | import time |
443 | 24 | import subprocess | ||
444 | 24 | import sys | 25 | import sys |
445 | 25 | 26 | ||
446 | 26 | from win32api import GetUserNameEx, CloseHandle | 27 | from win32api import GetUserNameEx, CloseHandle |
447 | 27 | from win32con import NameSamCompatible | 28 | from win32con import NameSamCompatible |
448 | 28 | from win32file import CreateFile, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING | 29 | from win32file import CreateFile, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING |
449 | 29 | from twisted.internet import defer, reactor | 30 | from twisted.internet import defer, reactor |
450 | 31 | from _winreg import OpenKey, HKEY_LOCAL_MACHINE, QueryValueEx | ||
451 | 30 | 32 | ||
452 | 31 | from ubuntuone.syncdaemon.config import get_user_config | 33 | from ubuntuone.syncdaemon.config import get_user_config |
453 | 32 | from ubuntuone.platform.windows.ipc import NAMED_PIPE_URL | 34 | from ubuntuone.platform.windows.ipc import NAMED_PIPE_URL |
454 | 33 | from ubuntuone.platform.windows.ipc_client import UbuntuOneClient | 35 | from ubuntuone.platform.windows.ipc_client import UbuntuOneClient |
455 | 34 | 36 | ||
456 | 37 | U1_REG_PATH = r'Software\\Ubuntu One' | ||
457 | 38 | SD_INSTALL_PATH = 'SyncDaemonInstallPath' | ||
458 | 35 | 39 | ||
459 | 36 | def is_running(bus=None): | 40 | def is_running(bus=None): |
460 | 37 | """Check if there is a syncdaemon instance running. | 41 | """Check if there is a syncdaemon instance running. |
461 | @@ -406,7 +410,12 @@ | |||
462 | 406 | def start(self): | 410 | def start(self): |
463 | 407 | """Start syncdaemon if it's not running.""" | 411 | """Start syncdaemon if it's not running.""" |
464 | 408 | if not is_running(): | 412 | if not is_running(): |
466 | 409 | raise Exception('Not implemented yet!') | 413 | # look in the reg to find the path of the .exe to be executed |
467 | 414 | # to launch the sd on windows | ||
468 | 415 | key = OpenKey(HKEY_LOCAL_MACHINE, U1_REG_PATH) | ||
469 | 416 | path = QueryValueEx(key, SD_INSTALL_PATH)[0] | ||
470 | 417 | p = subprocess.Popen([path,]) | ||
471 | 418 | return defer.succeed(p) | ||
472 | 410 | else: | 419 | else: |
473 | 411 | return defer.succeed(None) | 420 | return defer.succeed(None) |
474 | 412 | 421 |
I'm getting this error:
======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= == lib\site- packages\ twisted- 11.0.0- py2.7-win32. egg\twisted\ int Test\src\ review\ tests\platform\ windows\ test_tools. py", line 111 mocker. verify( ) bdist.win32\ egg\mocker. py", line 645, in verify
[ERROR]
Traceback (most recent call last):
File "C:\Python27\
ernet\defer.py", line 1020, in _inlineCallbacks
result = g.send(result)
File "C:\Users\
3, in test_execution
self.
File "build\
exceptions. AssertionError: [Mocker] Unmet expectations:
=> _winreg. OpenKey( ANY, 'Software\\\\Ubuntu One')
- Performed fewer times than expected.
=> _winreg. QueryValueEx( None, 'SyncDaemonInst allPath' )
- Performed fewer times than expected.
tests.platform. windows. test_tools. TestSyncDaemonT ool.test_ start ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- --
-------
Ran 51 tests in 2.265s
FAILED (errors=1, successes=50)