Beispiel #1
0
 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')
Beispiel #2
0
 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"}'))
Beispiel #3
0
 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"]}'))
Beispiel #4
0
 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)
Beispiel #6
0
  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)
Beispiel #7
0
 def testJsonUXStubPromptResponse(self):
     stub_output = console_io.JsonUXStub(
         console_io.UXElementType.PROMPT_RESPONSE, message='asdf')
     self.assertEqual(stub_output,
                      '{"ux": "PROMPT_RESPONSE", "message": "asdf"}')
Beispiel #8
0
 def testJsonUXStubProgressBar(self):
     stub_output = console_io.JsonUXStub(
         console_io.UXElementType.PROGRESS_BAR, message='foo')
     self.assertEqual(stub_output,
                      '{"ux": "PROGRESS_BAR", "message": "foo"}')