From: Angus Salkeld Date: Fri, 8 Mar 2013 12:12:29 +0000 (+1100) Subject: Add Quantum port tests to improve coverage. X-Git-Tag: 2014.1~788^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=1c995a18a08e706a31ba6e003be633dab36545f3;p=openstack-build%2Fheat-build.git Add Quantum port tests to improve coverage. bug 1152445 Change-Id: I6cb5d5dc03e0ed8ffd17cd3e0e2d36e705864bac Signed-off-by: Angus Salkeld --- diff --git a/heat/tests/test_quantum.py b/heat/tests/test_quantum.py index 98cfedfd..15f5ad0b 100644 --- a/heat/tests/test_quantum.py +++ b/heat/tests/test_quantum.py @@ -26,6 +26,7 @@ from heat.common import template_format from heat.engine import properties from heat.engine.resources.quantum import net from heat.engine.resources.quantum import floatingip +from heat.engine.resources.quantum import port from heat.engine.resources.quantum.quantum import QuantumResource as qr from heat.engine import parser @@ -53,6 +54,21 @@ class FakeQuantum(): "id": "fc68ea2c-b60b-4b4f-bd82-94ec81110766" }} + def create_port(self, props): + return {'port': { + "status": "ACTIVE", + "id": "fc68ea2c-b60b-4b4f-bd82-94ec81110766" + }} + + def delete_port(self, id): + return None + + def show_port(self, id): + return {'port': { + "status": "ACTIVE", + "id": "fc68ea2c-b60b-4b4f-bd82-94ec81110766" + }} + def create_network(self, name): return {"network": { "status": "ACTIVE", @@ -185,6 +201,7 @@ class QuantumFloatingIPTest(unittest.TestCase): def setUp(self): self.m = mox.Mox() self.m.StubOutWithMock(floatingip.FloatingIP, 'quantum') + self.m.StubOutWithMock(port.Port, 'quantum') def tearDown(self): self.m.UnsetStubs() @@ -244,3 +261,35 @@ class QuantumFloatingIPTest(unittest.TestCase): self.assertEqual(fip.delete(), None) self.m.VerifyAll() + + def test_port(self): + fq = FakeQuantum() + port.Port.quantum().MultipleTimes().AndReturn(fq) + + self.m.ReplayAll() + + t = self.load_template('Quantum_floating') + stack = self.parse_stack(t) + + p = stack['port_floating'] + self.assertEqual(None, p.create()) + self.assertEqual(port.Port.CREATE_COMPLETE, p.state) + p.validate() + + port_id = p.FnGetRefId() + self.assertEqual('fc68ea2c-b60b-4b4f-bd82-94ec81110766', port_id) + + self.assertEqual('ACTIVE', p.FnGetAtt('status')) + try: + p.FnGetAtt('Foo') + raise Exception('Expected InvalidTemplateAttribute') + except exception.InvalidTemplateAttribute: + pass + + self.assertEqual('fc68ea2c-b60b-4b4f-bd82-94ec81110766', + p.FnGetAtt('id')) + + self.assertEqual(port.Port.UPDATE_REPLACE, + p.handle_update({})) + + self.m.VerifyAll()