1111# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
1212# ANY KIND, either express or implied. See the License for the specific
1313# language governing permissions and limitations under the License.
14+ from awscli .testutils import BaseAWSCommandParamsTest
1415import os
1516
16- from awscli .testutils import BaseAWSCommandParamsTest , skip_if_windows
17-
1817
1918class TestCreateVirtualMFADevice (BaseAWSCommandParamsTest ):
19+
2020 prefix = 'iam create-virtual-mfa-device'
2121
2222 def setUp (self ):
2323 super (TestCreateVirtualMFADevice , self ).setUp ()
2424 self .parsed_response = {
2525 'ResponseMetadata' : {
2626 'HTTPStatusCode' : 200 ,
27- 'RequestId' : 'requset-id' ,
27+ 'RequestId' : 'requset-id'
2828 },
2929 "VirtualMFADevice" : {
3030 "Base32StringSeed" : (
3131 "VFpYTVc2V1lIUFlFRFczSVhLUlpRUTJRVFdUSFRNRDNTQ0c3"
32- "TkZDUVdQWDVETlNWM0IyUENaQVpWTEpQTlBOTA=="
33- ),
32+ "TkZDUVdQWDVETlNWM0IyUENaQVpWTEpQTlBOTA==" ),
3433 "SerialNumber" : "arn:aws:iam::419278470775:mfa/fiebaz" ,
3534 "QRCodePNG" : (
3635 "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6CAIAAAAHjs1qAAAFi"
@@ -75,13 +74,12 @@ def setUp(self):
7574 "R3EVwF8FdBHcR3EVwF8Fd5F/+AgASajf850wfAAAAAElFTkSu"
7675 "QmCC"
7776 ),
78- },
77+ }
7978 }
8079
8180 def getpath (self , filename ):
82- return os .path .join (
83- os .path .abspath (os .path .dirname (__file__ )), filename
84- )
81+ return os .path .join (os .path .abspath (os .path .dirname (__file__ )),
82+ filename )
8583
8684 def remove_file_if_exists (self , filename ):
8785 if os .path .isfile (filename ):
@@ -93,8 +91,7 @@ def test_base32(self):
9391 cmdline = self .prefix
9492 cmdline += ' --virtual-mfa-device-name fiebaz'
9593 cmdline += (
96- ' --outfile %s --bootstrap-method Base32StringSeed' % outfile
97- )
94+ ' --outfile %s --bootstrap-method Base32StringSeed' % outfile )
9895 result = {"VirtualMFADeviceName" : 'fiebaz' }
9996 self .assert_params_for_cmd (cmdline , result )
10097 self .assertTrue (os .path .exists (outfile ))
@@ -148,8 +145,7 @@ def test_bad_response(self):
148145 },
149146 'ResponseMetadata' : {
150147 'HTTPStatusCode' : 409 ,
151- 'RequestId' : 'requset-id' ,
152- },
148+ 'RequestId' : 'requset-id' }
153149 }
154150 self .http_response .status_code = 409
155151 cmdline = self .prefix
@@ -159,34 +155,4 @@ def test_bad_response(self):
159155 self .assert_params_for_cmd (
160156 cmdline ,
161157 stderr_contains = self .parsed_response ['Error' ]['Message' ],
162- expected_rc = 255 ,
163- )
164-
165- @skip_if_windows ("Permissions test not valid on Windows." )
166- def test_output_file_permissions (self ):
167- outfile = self .getpath ('fiebaz_perms.b32' )
168- self .addCleanup (self .remove_file_if_exists , outfile )
169- cmdline = self .prefix
170- cmdline += ' --virtual-mfa-device-name fiebaz'
171- cmdline += (
172- ' --outfile %s --bootstrap-method Base32StringSeed' % outfile
173- )
174- result = {"VirtualMFADeviceName" : 'fiebaz' }
175- self .assert_params_for_cmd (cmdline , result )
176- self .assertEqual (os .stat (outfile ).st_mode & 0xFFF , 0o600 )
177-
178- @skip_if_windows ("Permissions test not valid on Windows." )
179- def test_output_file_permissions_existing_file (self ):
180- outfile = self .getpath ('fiebaz_perms_existing.b32' )
181- self .addCleanup (self .remove_file_if_exists , outfile )
182- with open (outfile , 'wb' ) as f :
183- f .write (b'existing' )
184- os .chmod (outfile , 0o644 )
185- cmdline = self .prefix
186- cmdline += ' --virtual-mfa-device-name fiebaz'
187- cmdline += (
188- ' --outfile %s --bootstrap-method Base32StringSeed' % outfile
189- )
190- result = {"VirtualMFADeviceName" : 'fiebaz' }
191- self .assert_params_for_cmd (cmdline , result )
192- self .assertEqual (os .stat (outfile ).st_mode & 0xFFF , 0o600 )
158+ expected_rc = 255 )
0 commit comments