summaryrefslogtreecommitdiffstats
path: root/snaps/domain/test
diff options
context:
space:
mode:
authorspisarski <s.pisarski@cablelabs.com>2017-08-17 15:21:37 -0600
committerSteven Pisarski <s.pisarski@cablelabs.com>2017-08-24 21:12:02 +0000
commit1342eb17df248ec75cc57e9c380a7753fc432194 (patch)
tree72a3b065394b7bcaaddb801e3321edc1ba4b8818 /snaps/domain/test
parent49aaa5d61e87e11c5d5b9ce7dd2fa598f16b82a7 (diff)
Added method to return OpenStackVmInstance from Heat.
OpenStackHeatStack now can introspect the VMs that the template was responsible for deploying and return an instanitated instance of OpenStackVmInstance for each VM deployed. When the VM has a Floating IP, these instances have the ability to connect via SSH just like one created from scratch. JIRA: SNAPS-172 Change-Id: I5a7ed3a09bb871afc55c718aa80a9069b1eb4da7 Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/domain/test')
-rw-r--r--snaps/domain/test/keypair_tests.py7
-rw-r--r--snaps/domain/test/network_tests.py91
-rw-r--r--snaps/domain/test/stack_tests.py23
-rw-r--r--snaps/domain/test/vm_inst_tests.py81
4 files changed, 181 insertions, 21 deletions
diff --git a/snaps/domain/test/keypair_tests.py b/snaps/domain/test/keypair_tests.py
index 93f99ff..1cb9f91 100644
--- a/snaps/domain/test/keypair_tests.py
+++ b/snaps/domain/test/keypair_tests.py
@@ -23,13 +23,16 @@ class KeypairDomainObjectTests(unittest.TestCase):
"""
def test_construction_positional(self):
- keypair = Keypair('foo', '123-456', 'foo-bar')
+ keypair = Keypair('foo', '123-456', 'foo-bar', '01:02:03')
self.assertEqual('foo', keypair.name)
self.assertEqual('123-456', keypair.id)
self.assertEqual('foo-bar', keypair.public_key)
+ self.assertEqual('01:02:03', keypair.fingerprint)
def test_construction_named(self):
- keypair = Keypair(public_key='foo-bar', id='123-456', name='foo')
+ keypair = Keypair(fingerprint='01:02:03', public_key='foo-bar',
+ kp_id='123-456', name='foo')
self.assertEqual('foo', keypair.name)
self.assertEqual('123-456', keypair.id)
self.assertEqual('foo-bar', keypair.public_key)
+ self.assertEqual('01:02:03', keypair.fingerprint)
diff --git a/snaps/domain/test/network_tests.py b/snaps/domain/test/network_tests.py
index 0534b49..24a60c9 100644
--- a/snaps/domain/test/network_tests.py
+++ b/snaps/domain/test/network_tests.py
@@ -107,20 +107,95 @@ class PortDomainObjectTests(unittest.TestCase):
Tests the construction of the snaps.domain.network.Port class
"""
- def test_construction_kwargs(self):
+ def test_construction_ips_kwargs(self):
ips = ['10', '11']
port = Port(
- **{'name': 'name', 'id': 'id', 'ips': ips})
- self.assertEqual('name', port.name)
- self.assertEqual('id', port.id)
+ **{'name': 'foo', 'id': 'bar', 'description': 'test desc',
+ 'ips': ips, 'mac_address': 'abc123',
+ 'allowed_address_pairs': list(), 'admin_state_up': False,
+ 'device_id': 'def456', 'device_owner': 'joe',
+ 'network_id': 'ghi789', 'port_security_enabled': False,
+ 'security_groups': list(), 'tenant_id': 'jkl098'})
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
- def test_construction_named(self):
+ def test_construction_fixed_ips_kwargs(self):
+ ips = ['10', '11']
+ port = Port(
+ **{'name': 'foo', 'id': 'bar', 'description': 'test desc',
+ 'fixed_ips': ips, 'mac_address': 'abc123',
+ 'allowed_address_pairs': list(), 'admin_state_up': False,
+ 'device_id': 'def456', 'device_owner': 'joe',
+ 'network_id': 'ghi789', 'port_security_enabled': False,
+ 'security_groups': list(), 'tenant_id': 'jkl098'})
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
+ self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
+
+ def test_construction_named_ips(self):
ips = ['10', '11']
- port = Port(ips=ips, id='id', name='name')
- self.assertEqual('name', port.name)
- self.assertEqual('id', port.id)
+ port = Port(
+ mac_address='abc123', description='test desc', ips=ips, id='bar',
+ name='foo', allowed_address_pairs=list(), admin_state_up=False,
+ device_id='def456', device_owner='joe', network_id='ghi789',
+ port_security_enabled=False, security_groups=list(),
+ tenant_id='jkl098')
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
+ self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
+
+ def test_construction_named_fixed_ips(self):
+ ips = ['10', '11']
+ port = Port(
+ mac_address='abc123', description='test desc', fixed_ips=ips,
+ id='bar', name='foo', allowed_address_pairs=list(),
+ admin_state_up=False, device_id='def456', device_owner='joe',
+ network_id='ghi789', port_security_enabled=False,
+ security_groups=list(), tenant_id='jkl098')
+ self.assertEqual('foo', port.name)
+ self.assertEqual('bar', port.id)
+ self.assertEqual('test desc', port.description)
self.assertEqual(ips, port.ips)
+ self.assertEqual('abc123', port.mac_address)
+ self.assertEqual(list(), port.allowed_address_pairs)
+ self.assertFalse(port.admin_state_up)
+ self.assertEqual('def456', port.device_id)
+ self.assertEqual('joe', port.device_owner)
+ self.assertEqual('ghi789', port.network_id)
+ self.assertFalse(port.port_security_enabled)
+ self.assertEqual(list(), port.security_groups)
+ self.assertEqual(list(), port.security_groups)
class RouterDomainObjectTests(unittest.TestCase):
diff --git a/snaps/domain/test/stack_tests.py b/snaps/domain/test/stack_tests.py
index e0e1ae7..f816ef8 100644
--- a/snaps/domain/test/stack_tests.py
+++ b/snaps/domain/test/stack_tests.py
@@ -14,7 +14,7 @@
# limitations under the License.
import unittest
-from snaps.domain.stack import Stack, Resource
+from snaps.domain.stack import Stack, Resource, Output
class StackDomainObjectTests(unittest.TestCase):
@@ -47,3 +47,24 @@ class ResourceDomainObjectTests(unittest.TestCase):
resource = Resource(resource_id='bar', resource_type='foo')
self.assertEqual('foo', resource.type)
self.assertEqual('bar', resource.id)
+
+
+class OutputDomainObjectTests(unittest.TestCase):
+ """
+ Tests the construction of the snaps.domain.Resource class
+ """
+
+ def test_construction_kwargs(self):
+ kwargs = {'description': 'foo', 'output_key': 'test_key',
+ 'output_value': 'bar'}
+ resource = Output(**kwargs)
+ self.assertEqual('foo', resource.description)
+ self.assertEqual('test_key', resource.key)
+ self.assertEqual('bar', resource.value)
+
+ def test_construction_named(self):
+ resource = Output(description='foo', output_key='test_key',
+ output_value='bar')
+ self.assertEqual('foo', resource.description)
+ self.assertEqual('test_key', resource.key)
+ self.assertEqual('bar', resource.value)
diff --git a/snaps/domain/test/vm_inst_tests.py b/snaps/domain/test/vm_inst_tests.py
index c3de8ba..d293373 100644
--- a/snaps/domain/test/vm_inst_tests.py
+++ b/snaps/domain/test/vm_inst_tests.py
@@ -23,16 +23,26 @@ class VmInstDomainObjectTests(unittest.TestCase):
"""
def test_construction_positional(self):
- vm_inst = VmInst('name', 'id', dict())
+ vm_inst = VmInst('name', 'id', '456', '123', dict(), 'kp-name', list())
self.assertEqual('name', vm_inst.name)
self.assertEqual('id', vm_inst.id)
+ self.assertEqual('456', vm_inst.image_id)
+ self.assertEqual('123', vm_inst.flavor_id)
self.assertEqual(dict(), vm_inst.networks)
+ self.assertEqual('kp-name', vm_inst.keypair_name)
+ self.assertEqual(list(), vm_inst.sec_grp_names)
def test_construction_named(self):
- vm_inst = VmInst(networks=dict(), inst_id='id', name='name')
+ vm_inst = VmInst(sec_grp_names=list(), networks=dict(), inst_id='id',
+ name='name', flavor_id='123', image_id='456',
+ keypair_name='kp-name')
self.assertEqual('name', vm_inst.name)
self.assertEqual('id', vm_inst.id)
+ self.assertEqual('456', vm_inst.image_id)
+ self.assertEqual('123', vm_inst.flavor_id)
self.assertEqual(dict(), vm_inst.networks)
+ self.assertEqual('kp-name', vm_inst.keypair_name)
+ self.assertEqual(list(), vm_inst.sec_grp_names)
class FloatingIpDomainObjectTests(unittest.TestCase):
@@ -40,12 +50,63 @@ class FloatingIpDomainObjectTests(unittest.TestCase):
Tests the construction of the snaps.domain.test.Image class
"""
- def test_construction_positional(self):
- vm_inst = FloatingIp('id-123', '10.0.0.1')
- self.assertEqual('id-123', vm_inst.id)
- self.assertEqual('10.0.0.1', vm_inst.ip)
+ def test_construction_kwargs_ip_proj(self):
+ kwargs = {'id': 'foo', 'description': 'bar', 'ip': '192.168.122.3',
+ 'fixed_ip_address': '10.0.0.3',
+ 'floating_network_id': 'id_of_net', 'port_id': 'id_of_port',
+ 'router_id': 'id_of_router', 'project_id': 'id_of_proj'}
+ vm_inst = FloatingIp(**kwargs)
+ self.assertEqual('foo', vm_inst.id)
+ self.assertEqual('bar', vm_inst.description)
+ self.assertEqual('192.168.122.3', vm_inst.ip)
+ self.assertEqual('10.0.0.3', vm_inst.fixed_ip_address)
+ self.assertEqual('id_of_net', vm_inst.floating_network_id)
+ self.assertEqual('id_of_port', vm_inst.port_id)
+ self.assertEqual('id_of_router', vm_inst.router_id)
+ self.assertEqual('id_of_proj', vm_inst.project_id)
- def test_construction_named(self):
- vm_inst = FloatingIp(ip='10.0.0.1', inst_id='id-123')
- self.assertEqual('id-123', vm_inst.id)
- self.assertEqual('10.0.0.1', vm_inst.ip)
+ def test_construction_kwargs_fixed_ip_tenant(self):
+ kwargs = {'id': 'foo', 'description': 'bar',
+ 'floating_ip_address': '192.168.122.3',
+ 'fixed_ip_address': '10.0.0.3',
+ 'floating_network_id': 'id_of_net', 'port_id': 'id_of_port',
+ 'router_id': 'id_of_router', 'tenant_id': 'id_of_proj'}
+ vm_inst = FloatingIp(**kwargs)
+ self.assertEqual('foo', vm_inst.id)
+ self.assertEqual('bar', vm_inst.description)
+ self.assertEqual('192.168.122.3', vm_inst.ip)
+ self.assertEqual('10.0.0.3', vm_inst.fixed_ip_address)
+ self.assertEqual('id_of_net', vm_inst.floating_network_id)
+ self.assertEqual('id_of_port', vm_inst.port_id)
+ self.assertEqual('id_of_router', vm_inst.router_id)
+ self.assertEqual('id_of_proj', vm_inst.project_id)
+
+ def test_construction_named_ip_proj(self):
+ vm_inst = FloatingIp(
+ id='foo', description='bar', ip='192.168.122.3',
+ fixed_ip_address='10.0.0.3', floating_network_id='id_of_net',
+ port_id='id_of_port', router_id='id_of_router',
+ project_id='id_of_proj')
+ self.assertEqual('foo', vm_inst.id)
+ self.assertEqual('bar', vm_inst.description)
+ self.assertEqual('192.168.122.3', vm_inst.ip)
+ self.assertEqual('10.0.0.3', vm_inst.fixed_ip_address)
+ self.assertEqual('id_of_net', vm_inst.floating_network_id)
+ self.assertEqual('id_of_port', vm_inst.port_id)
+ self.assertEqual('id_of_router', vm_inst.router_id)
+ self.assertEqual('id_of_proj', vm_inst.project_id)
+
+ def test_construction_kwargs_named_fixed_ip_tenant(self):
+ vm_inst = FloatingIp(
+ id='foo', description='bar', floating_ip_address='192.168.122.3',
+ fixed_ip_address='10.0.0.3', floating_network_id='id_of_net',
+ port_id='id_of_port', router_id='id_of_router',
+ tenant_id='id_of_proj')
+ self.assertEqual('foo', vm_inst.id)
+ self.assertEqual('bar', vm_inst.description)
+ self.assertEqual('192.168.122.3', vm_inst.ip)
+ self.assertEqual('10.0.0.3', vm_inst.fixed_ip_address)
+ self.assertEqual('id_of_net', vm_inst.floating_network_id)
+ self.assertEqual('id_of_port', vm_inst.port_id)
+ self.assertEqual('id_of_router', vm_inst.router_id)
+ self.assertEqual('id_of_proj', vm_inst.project_id)