def test_noop_if_output_key_does_not_exist(self): original = {'foo': 'bar'} parsed = original.copy() handlers.decode_console_output(parsed) # Should be unchanged because the 'Output' # key is not in the output. self.assertEqual(parsed, original)
def _decode_console_output_as_bytes(parsed, **kwargs): """Provide console output as bytes in OutputBytes. For this to be useful, the session has to have had the decode_console_output handler unregistered already. https://github.com/boto/botocore/issues/1351 .""" if 'Output' not in parsed: return orig = parsed['Output'] handlers.decode_console_output(parsed, **kwargs) parsed['OutputBytes'] = base64.b64decode(orig)
def test_get_console_output_cant_be_decoded(self): parsed = {'Output': 1} handlers.decode_console_output(parsed) self.assertEqual(parsed['Output'], 1)
def test_get_console_output(self): parsed = {'Output': base64.b64encode(b'foobar').decode('utf-8')} handlers.decode_console_output(parsed) self.assertEqual(parsed['Output'], 'foobar')
def test_get_console_output_bad_unicode_errors(self): original = base64.b64encode(b'before\xffafter').decode('utf-8') parsed = {'Output': original} handlers.decode_console_output(parsed) self.assertEqual(parsed['Output'], u'before\ufffdafter')
def test_get_console_output(self): parsed = {"Output": base64.b64encode(b"foobar").decode("utf-8")} handlers.decode_console_output(parsed) self.assertEqual(parsed["Output"], "foobar")