def _do_test_attributes_in_white_list(self, release, expected_attributes): cluster_data = self.env.create_cluster(release_id=release.id) cluster = Cluster.get_by_uid(cluster_data['id']) editable = cluster.attributes.editable info = InstallationInfo() actual_attributes = info.get_attributes(editable, info.attributes_white_list) self.assertEqual(set(expected_attributes), set(actual_attributes.keys()))
def test_get_attributes_centos(self): self.env.upload_fixtures(['openstack']) info = InstallationInfo() release = ReleaseCollection.filter_by(None, operating_system='CentOS') cluster_data = self.env.create_cluster(release_id=release[0].id) cluster = Cluster.get_by_uid(cluster_data['id']) editable = cluster.attributes.editable attr_key_list = [a[1] for a in info.attributes_white_list] attrs_dict = info.get_attributes(editable, info.attributes_white_list) self.assertEqual(set(attr_key_list), set(attrs_dict.keys()))
def test_get_attributes_centos(self): self.skipTest("CentOS is unavailable in current release.") self.env.upload_fixtures(["openstack"]) info = InstallationInfo() release = ReleaseCollection.filter_by(None, operating_system="CentOS") cluster_data = self.env.create_cluster(release_id=release[0].id) cluster = Cluster.get_by_uid(cluster_data["id"]) editable = cluster.attributes.editable attr_key_list = [a[1] for a in info.attributes_white_list] attrs_dict = info.get_attributes(editable, info.attributes_white_list) self.assertEqual(set(attr_key_list), set(attrs_dict.keys()))
def test_get_attributes_exception_handled(self): info = InstallationInfo() variants = [ None, {}, {'common': None}, {'common': {'libvirt_type': {}}}, {'common': {'libvirt_type': 3}}, ] for attrs in variants: result = info.get_attributes(attrs, info.attributes_white_list) self.assertDictEqual({}, result)
def test_get_attributes_ubuntu(self): self.env.upload_fixtures(['openstack']) info = InstallationInfo() release = ReleaseCollection.filter_by(None, operating_system='Ubuntu') cluster_data = self.env.create_cluster(release_id=release[0].id) cluster = Cluster.get_by_uid(cluster_data['id']) editable = cluster.attributes.editable attr_key_list = [a[1] for a in info.attributes_white_list] attrs_dict = info.get_attributes(editable, info.attributes_white_list) self.assertEqual( # no vlan splinters for ubuntu set(attr_key_list) - set(('vlan_splinters', 'vlan_splinters_ovs')), set(attrs_dict.keys()))
def test_get_attributes_ubuntu(self): self.env.upload_fixtures(["openstack"]) info = InstallationInfo() release = ReleaseCollection.filter_by(None, operating_system="Ubuntu") cluster_data = self.env.create_cluster(release_id=release[0].id) cluster = Cluster.get_by_uid(cluster_data["id"]) editable = cluster.attributes.editable attr_key_list = [a[1] for a in info.attributes_white_list] attrs_dict = info.get_attributes(editable, info.attributes_white_list) self.assertEqual( # no vlan splinters for ubuntu set(attr_key_list) - set(("vlan_splinters", "vlan_splinters_ovs")), set(attrs_dict.keys()), )
def _do_test_attributes_in_white_list(self, release, expected_attributes): cluster_data = self.env.create_cluster( release_id=release.id ) cluster = Cluster.get_by_uid(cluster_data['id']) editable = cluster.attributes.editable info = InstallationInfo() actual_attributes = info.get_attributes( editable, info.attributes_white_list) self.assertEqual( set(expected_attributes), set(actual_attributes.keys()) )
def test_get_attributes_ubuntu(self): self.env.upload_fixtures(['openstack']) info = InstallationInfo() release = ReleaseCollection.filter_by(None, operating_system='Ubuntu') cluster_data = self.env.create_cluster( release_id=release[0].id ) cluster = Cluster.get_by_uid(cluster_data['id']) editable = cluster.attributes.editable attr_key_list = [a[1] for a in info.attributes_white_list] attrs_dict = info.get_attributes(editable, info.attributes_white_list) self.assertEqual( # No vlan splinters for ubuntu. # And no mellanox related entries since 8.0. set(attr_key_list) - set( ('vlan_splinters', 'vlan_splinters_ovs', 'mellanox', 'mellanox_vf_num', 'iser')), set(attrs_dict.keys()) )
def test_get_empty_attributes(self): info = InstallationInfo() trash_attrs = {'some': 'trash', 'nested': {'n': 't'}} result = info.get_attributes(trash_attrs, info.attributes_white_list) self.assertDictEqual({}, result)
def test_get_empty_attributes(self): info = InstallationInfo() trash_attrs = {"some": "trash", "nested": {"n": "t"}} result = info.get_attributes(trash_attrs, info.attributes_white_list) self.assertDictEqual({}, result)