Merge lp:~nskaggs/juju-ci-tools/grant-revoke-debug into lp:juju-ci-tools

Proposed by Nicholas Skaggs
Status: Merged
Merged at revision: 1409
Proposed branch: lp:~nskaggs/juju-ci-tools/grant-revoke-debug
Merge into: lp:juju-ci-tools
Diff against target: 109 lines (+28/-23)
2 files modified
assess_user_grant_revoke.py (+19/-16)
tests/test_assess_user_grant_revoke.py (+9/-7)
To merge this branch: bzr merge lp:~nskaggs/juju-ci-tools/grant-revoke-debug
Reviewer Review Type Date Requested Status
Curtis Hovey (community) code Approve
Review via email: mp+294668@code.launchpad.net

Description of the change

Fix grant revoke based on CI outcomes

To post a comment you must log in.
1377. By Nicholas Skaggs

flake8 too

1378. By Nicholas Skaggs

fix tests

Revision history for this message
Curtis Hovey (sinzui) wrote :

Thank you.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'assess_user_grant_revoke.py'
2--- assess_user_grant_revoke.py 2016-05-10 17:50:04 +0000
3+++ assess_user_grant_revoke.py 2016-05-13 16:48:39 +0000
4@@ -24,6 +24,7 @@
5 from utility import (
6 add_basic_testing_arguments,
7 configure_logging,
8+ scoped_environ,
9 temp_dir,
10 )
11
12@@ -42,21 +43,23 @@
13 register_process=pexpect.spawn):
14 # needs support to passing register command with arguments
15 # refactor once supported, bug 1573099
16- try:
17- child = register_process(register_cmd, env=environ)
18- child.expect('(?i)name .*: ')
19- child.sendline(username + '_controller')
20- child.expect('(?i)password')
21- child.sendline(username + '_password')
22- child.expect('(?i)password')
23- child.sendline(username + '_password')
24- child.expect(pexpect.EOF)
25- if child.isalive():
26+ # pexpect has a bug, and doesn't honor env=
27+ with scoped_environ(environ):
28+ try:
29+ child = register_process(register_cmd)
30+ child.expect('(?i)name .*: ')
31+ child.sendline(username + '_controller')
32+ child.expect('(?i)password')
33+ child.sendline(username + '_password')
34+ child.expect('(?i)password')
35+ child.sendline(username + '_password')
36+ child.expect(pexpect.EOF)
37+ if child.isalive():
38+ raise JujuAssertionError(
39+ 'Registering user failed: pexpect session still alive')
40+ except pexpect.TIMEOUT:
41 raise JujuAssertionError(
42- 'Registering user failed: pexpect session still alive')
43- except pexpect.TIMEOUT:
44- raise JujuAssertionError(
45- 'Registering user failed: pexpect session timed out')
46+ 'Registering user failed: pexpect session timed out')
47
48
49 def create_cloned_environment(client, cloned_juju_home):
50@@ -86,13 +89,13 @@
51 def assert_write(client, permission):
52 if permission:
53 try:
54- client.deploy('local:wordpress')
55+ client.deploy('cs:ubuntu')
56 except subprocess.CalledProcessError:
57 raise JujuAssertionError(
58 'User could not deploy with write permission')
59 else:
60 try:
61- client.deploy('local:wordpress')
62+ client.deploy('cs:ubuntu')
63 except subprocess.CalledProcessError:
64 pass
65 else:
66
67=== modified file 'tests/test_assess_user_grant_revoke.py'
68--- tests/test_assess_user_grant_revoke.py 2016-05-10 17:50:04 +0000
69+++ tests/test_assess_user_grant_revoke.py 2016-05-13 16:48:39 +0000
70@@ -38,7 +38,7 @@
71 def get_process(cls, username, expected_strings):
72 return partial(cls, username, expected_strings)
73
74- def __init__(self, sendline_str, expected_str, register_cmd, env):
75+ def __init__(self, sendline_str, expected_str, register_cmd):
76 self._expect_strings = iter(expected_str)
77 self._sendline_strings = iter(sendline_str)
78
79@@ -178,17 +178,18 @@
80 def test_create_cloned_environment(self):
81 fake_client = FakeJujuClient()
82 fake_client.bootstrap()
83- fake_client_env = fake_client._shell_environ()
84- cloned, cloned_env = create_cloned_environment(fake_client, 'fakehome')
85+ fake_client_environ = fake_client._shell_environ()
86+ cloned, cloned_environ = create_cloned_environment(fake_client,
87+ 'fakehome')
88 self.assertIs(FakeJujuClient, type(cloned))
89 self.assertEqual(cloned.env.juju_home, 'fakehome')
90- self.assertNotEqual(cloned_env, fake_client_env)
91- self.assertEqual(cloned_env['JUJU_DATA'], 'fakehome')
92+ self.assertNotEqual(cloned_environ, fake_client_environ)
93+ self.assertEqual(cloned_environ['JUJU_DATA'], 'fakehome')
94
95 def test_register_user(self):
96 username = 'fakeuser'
97 fake_client = FakeJujuClient()
98- env = fake_client._shell_environ()
99+ environ = fake_client._shell_environ()
100 cmd = 'juju register AaBbCc'
101
102 register_process = RegisterUserProcess.get_process(
103@@ -206,4 +207,5 @@
104 ]
105 )
106
107- register_user(username, env, cmd, register_process=register_process)
108+ register_user(username, environ, cmd,
109+ register_process=register_process)

Subscribers

People subscribed via source and target branches