Пример #1
0
  def testReportErrorWithCorrectException(self):
    properties.VALUES.core.disable_usage_reporting.Set(False)
    properties.VALUES.metrics.command_name.Set(COMMAND)
    self.StartObjectPatch(metrics, 'GetCIDIfMetricsEnabled', return_value=CID)

    crash_handling.ReportError(is_crash=False)

    self.assertTrue(self.report_event_mock.called)
    args, _ = self.report_event_mock.call_args_list[0]
    self.assertTrue(args[0].startswith(
        'https://clouderrorreporting.googleapis.com/v1beta1/projects/cloud-sdk'
        '-user-errors/events:report?'))
    self.assertEqual(args[1], 'POST')
    self.assertEqual(
        args[2],
        '{"context": {"httpRequest": {"url": "command"}, "user": '******'"randomly-generated-id-adsfad"}, "message": "%s", "serviceContext": {'
        '"service": "gcloud", "version": "%s"}}'
        % (EXAMPLE_TRACEBACK_SERIALIZED, config.CLOUD_SDK_VERSION))
    content_length = str(447 + len(config.CLOUD_SDK_VERSION))
    self.assertEqual(
        args[3],
        {'content-length': content_length, 'content-type': 'application/json',
         'accept-encoding': 'gzip, deflate', 'accept': 'application/json',
         'user-agent': 'google-cloud-sdk'})
 def HandleKnownErrorFunc():
     crash_handling.ReportError(is_crash=False)