def mgmt_instance_get(self): """Tests the mgmt get call works when the Nova server isn't ready.""" api_instance = self.mgmt.show(self.id) # Print out all fields for extra info if the test fails. for name in dir(api_instance): print(str(name) + "=" + str(getattr(api_instance, name))) # Print out all fields for extra info if the test fails. for name in dir(api_instance): print(str(name) + "=" + str(getattr(api_instance, name))) with TypeCheck("instance", api_instance) as instance: instance.has_field('created', basestring) instance.has_field('deleted', bool) # If the instance hasn't been deleted, this should be false... but # lets avoid creating more ordering work. instance.has_field('deleted_at', (basestring, None)) instance.has_field('flavor', dict, flavor_check) instance.has_field('guest_status', dict, guest_status_check) instance.has_field('id', basestring) instance.has_field('links', list) instance.has_field('name', basestring) #instance.has_field('server_status', basestring) instance.has_field('status', basestring) instance.has_field('tenant_id', basestring) instance.has_field('updated', basestring) # Can be None if no volume is given on this instance. instance.has_field('server', None) instance.has_field('volume', None)
def test_created_security_group(self): assert_is_not_none(self.testSecurityGroup) with TypeCheck('SecurityGroup', self.testSecurityGroup) as secGrp: secGrp.has_field('id', basestring) secGrp.has_field('name', basestring) secGrp.has_field('description', basestring) secGrp.has_field('created', basestring) secGrp.has_field('updated', basestring) assert_equal(self.testSecurityGroup.name, self.secGroupName) assert_equal(self.testSecurityGroup.description, self.secGroupDescription)
def mgmt_instance_get(): """ Tests the mgmt instances index method. """ reqs = Requirements(is_admin=True) user = CONFIG.users.find_user(reqs) client = create_dbaas_client(user) mgmt = client.management # Grab the info.id created by the main instance test which is stored in # a global. id = instance_info.id api_instance = mgmt.show(id) # Print out all fields for extra info if the test fails. for name in dir(api_instance): print(str(name) + "=" + str(getattr(api_instance, name))) with TypeCheck("instance", api_instance) as instance: instance.has_field('created', basestring) instance.has_field('deleted', bool) # If the instance hasn't been deleted, this should be false... but # lets avoid creating more ordering work. instance.has_field('deleted_at', (basestring, None)) instance.has_field('flavor', dict, flavor_check) instance.has_field('guest_status', dict, guest_status_check) instance.has_field('id', basestring) instance.has_field('links', list) instance.has_field('name', basestring) #instance.has_field('server_status', basestring) instance.has_field('status', basestring) instance.has_field('tenant_id', basestring) instance.has_field('updated', basestring) # Can be None if no volume is given on this instance. if CONFIG.reddwarf_volume_support: instance.has_field('volume', dict, volume_check) else: instance.has_field('volume', None) #TODO: Validate additional fields, assert no extra fields exist. with CollectionCheck("server", api_instance.server) as server: server.has_element("addresses", dict) server.has_element("deleted", bool) server.has_element("deleted_at", (basestring, None)) server.has_element("host", basestring) server.has_element("id", basestring) server.has_element("local_id", int) server.has_element("name", basestring) server.has_element("status", basestring) server.has_element("tenant_id", basestring) if (CONFIG.reddwarf_volume_support and CONFIG.reddwarf_main_instance_has_volume): with CollectionCheck("volume", api_instance.volume) as volume: volume.has_element("attachments", list) volume.has_element("availability_zone", basestring) volume.has_element("created_at", (basestring, None)) volume.has_element("id", basestring) volume.has_element("size", int) volume.has_element("status", basestring)
def test_instance_get_shows_volume_info_while_mysql_is_down(self): """ Confirms the get call behaves appropriately while an instance is down. """ if not CONFIG.reddwarf_volume_support: raise SkipTest("Not testing volumes.") instance = self.dbaas.instances.get(self.instance_id) with TypeCheck("instance", instance) as check: check.has_field("volume", dict) check.true('size' in instance.volume) check.true('used' in instance.volume) check.true(isinstance(instance.volume.get('size', None), int)) check.true(isinstance(instance.volume.get('used', None), float))
def test_create_security_group_rule(self): self.testSecurityGroupRule = dbaas.security_group_rules.create( group_id=self.testSecurityGroup.id, protocol="tcp", from_port=3306, to_port=3306, cidr="0.0.0.0/0") assert_is_not_none(self.testSecurityGroupRule) with TypeCheck('SecurityGroupRule', self.testSecurityGroupRule) as secGrpRule: secGrpRule.has_field('id', basestring) secGrpRule.has_field('security_group_id', basestring) secGrpRule.has_field('protocol', basestring) secGrpRule.has_field('cidr', basestring) secGrpRule.has_field('from_port', int) secGrpRule.has_field('to_port', int) secGrpRule.has_field('created', basestring) assert_equal(self.testSecurityGroupRule.security_group_id, self.testSecurityGroup.id) assert_equal(self.testSecurityGroupRule.protocol, "tcp") assert_equal(int(self.testSecurityGroupRule.from_port), 3306) assert_equal(int(self.testSecurityGroupRule.to_port), 3306) assert_equal(self.testSecurityGroupRule.cidr, "0.0.0.0/0")