Revision 8a019a03

b/lib/rapi/client.py
74 74
  """Generic error raised from Ganeti API.
75 75

  
76 76
  """
77
  pass
77
  def __init__(self, msg, code=None):
78
    Error.__init__(self, msg)
79
    self.code = code
78 80

  
79 81

  
80 82
class InvalidReplacementMode(Error):
......
414 416
      else:
415 417
        msg = str(response_content)
416 418

  
417
      raise GanetiApiError(msg)
419
      raise GanetiApiError(msg, code=resp.code)
418 420

  
419 421
    return response_content
420 422

  
b/test/ganeti.rapi.client_unittest.py
151 151
  def assertDryRun(self):
152 152
    self.assertTrue(self.rapi.GetLastHandler().dryRun())
153 153

  
154
  def testHttpError(self):
155
    self.rapi.AddResponse(None, code=404)
156
    try:
157
      self.client.GetJobStatus(15140)
158
    except client.GanetiApiError, err:
159
      self.assertEqual(err.code, 404)
160
    else:
161
      self.fail("Didn't raise exception")
162

  
154 163
  def testGetVersion(self):
155 164
    self.client._version = None
156 165
    self.rapi.AddResponse("2")

Also available in: Unified diff