summaryrefslogtreecommitdiff
path: root/nova/tests/unit/api/ec2/test_faults.py
diff options
context:
space:
mode:
Diffstat (limited to 'nova/tests/unit/api/ec2/test_faults.py')
-rw-r--r--nova/tests/unit/api/ec2/test_faults.py46
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)