def testJsonUXStubExtraArgsFails(self): with self.assertRaisesRegex(ValueError, (r"Extraneous args for Ux Element " r"PROGRESS_BAR: \['not_allowed']")): console_io.JsonUXStub(console_io.UXElementType.PROGRESS_BAR, message='foo', not_allowed='bar')
def testJsonUXStubProgressTracker(self): stub_output = console_io.JsonUXStub( console_io.UXElementType.PROGRESS_TRACKER, message='foo', aborted_message='bar', status='FAILED') self.assertEqual(stub_output, ('{"ux": "PROGRESS_TRACKER", "message": "foo",' ' "aborted_message": "bar", "status": "FAILED"}'))
def testJsonUXStubPromptChoice(self): stub_output = console_io.JsonUXStub( console_io.UXElementType.PROMPT_CHOICE, prompt_string='pickone', choices=['1', '2', '3']) self.assertEqual( stub_output, ('{"ux": "PROMPT_CHOICE", ' '"prompt_string": "pickone", "choices": ["1", "2", "3"]}'))
def testJsonUXStubPromtpContinue(self): stub_output = console_io.JsonUXStub( console_io.UXElementType.PROMPT_CONTINUE, message='foo', prompt_string='continue?', cancel_string='cancelled') self.assertEqual( stub_output, ('{"ux": "PROMPT_CONTINUE", "message": "foo",' ' "prompt_string": "continue?", "cancel_string": "cancelled"}'))
def __exit__(self, exc_type, exc_val, exc_tb): if not exc_val: status = 'SUCCESS' elif isinstance(exc_val, console_io.OperationCancelledError): status = 'INTERRUPTED' else: status = 'FAILURE' self._stream.write(console_io.JsonUXStub( console_io.UXElementType.PROGRESS_TRACKER, message=self._message, status=status) + '\n') return super(_StubProgressTracker, self).__exit__(exc_type, exc_val, exc_tb)
def __exit__(self, exc_type, exc_val, exc_tb): if not exc_val: status = 'SUCCESS' elif isinstance(exc_val, console_io.OperationCancelledError): status = 'INTERRUPTED' else: status = 'FAILURE' if log.IsUserOutputEnabled(): self._stream.write(console_io.JsonUXStub( console_io.UXElementType.STAGED_PROGRESS_TRACKER, message=self._message, status=status, succeeded_stages=self._succeeded_stages, failed_stage=self._failed_stage) + '\n') return super( _StubStagedProgressTracker, self).__exit__(exc_type, exc_val, exc_tb)
def testJsonUXStubPromptResponse(self): stub_output = console_io.JsonUXStub( console_io.UXElementType.PROMPT_RESPONSE, message='asdf') self.assertEqual(stub_output, '{"ux": "PROMPT_RESPONSE", "message": "asdf"}')
def testJsonUXStubProgressBar(self): stub_output = console_io.JsonUXStub( console_io.UXElementType.PROGRESS_BAR, message='foo') self.assertEqual(stub_output, '{"ux": "PROGRESS_BAR", "message": "foo"}')