diff options
Diffstat (limited to 'nova/tests/unit/api/ec2/test_faults.py')
-rw-r--r-- | nova/tests/unit/api/ec2/test_faults.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/nova/tests/unit/api/ec2/test_faults.py b/nova/tests/unit/api/ec2/test_faults.py new file mode 100644 index 0000000000..ae71be9bbf --- /dev/null +++ b/nova/tests/unit/api/ec2/test_faults.py @@ -0,0 +1,46 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import mox +import webob + +from nova.api.ec2 import faults +from nova import test +from nova import wsgi + + +class TestFaults(test.NoDBTestCase): + """Tests covering ec2 Fault class.""" + + def test_fault_exception(self): + # Ensure the status_int is set correctly on faults. + fault = faults.Fault(webob.exc.HTTPBadRequest( + explanation='test')) + self.assertIsInstance(fault.wrapped_exc, webob.exc.HTTPBadRequest) + + def test_fault_exception_status_int(self): + # Ensure the status_int is set correctly on faults. + fault = faults.Fault(webob.exc.HTTPNotFound(explanation='test')) + self.assertEqual(fault.wrapped_exc.status_int, 404) + + def test_fault_call(self): + # Ensure proper EC2 response on faults. + message = 'test message' + ex = webob.exc.HTTPNotFound(explanation=message) + fault = faults.Fault(ex) + req = wsgi.Request.blank('/test') + req.GET['AWSAccessKeyId'] = "test_user_id:test_project_id" + self.mox.StubOutWithMock(faults, 'ec2_error_response') + faults.ec2_error_response(mox.IgnoreArg(), 'HTTPNotFound', + message=message, status=ex.status_int) + self.mox.ReplayAll() + fault(req) |