def test_get_composite_values_from_records(self): grid_1_id = 100 grid_1_name = 'test grid 1' grid_2_id = 200 grid_2_name = 'test grid 2' dbi.remove_grids(self.ctx.session, [grid_1_id, grid_2_id]) dbi.add_grid(self.ctx.session, grid_1_id, grid_1_name, '{}', 'ON', 'gm-id-1') dbi.add_grid(self.ctx.session, grid_2_id, grid_2_name, '{}', 'OFF', 'gm-id-2') grids = dbi.get_grids(self.ctx.session) composite_keys = ['grid_id', 'grid_name'] delimiter = '-' composite_values = utils.get_composite_values_from_records( composite_keys, grids, delimiter) expected_value = str(grid_1_id) + delimiter + grid_1_name self.assertEqual(expected_value, composite_values[0]) expected_value = str(grid_2_id) + delimiter + grid_2_name self.assertEqual(expected_value, composite_values[1])
def test_grid_management(self): grid_list = [{'grid_id': 100, 'grid_name': 'Test Grid 1000', 'grid_connection': '{}', 'grid_status': 'ON'}, {'grid_id': 200, 'grid_name': 'Test Grid 2000', 'grid_connection': '{}', 'grid_status': 'OFF'}] # expects no grid db_grids = infoblox_db.get_grids(self.ctx.session) self.assertEqual(0, len(db_grids)) # test grid additions self._create_grids(grid_list) db_grids = infoblox_db.get_grids(self.ctx.session) actual_grid_rows = utils.get_composite_values_from_records( ['grid_id', 'grid_name', 'grid_connection', 'grid_status'], db_grids) expected_grid_rows = utils.get_composite_values_from_records( ['grid_id', 'grid_name', 'grid_connection', 'grid_status'], grid_list) self.assertEqual(expected_grid_rows, actual_grid_rows) # test grid retrieval by grid_id filter db_grids = infoblox_db.get_grids(self.ctx.session, grid_id=grid_list[0]['grid_id']) self.assertEqual(grid_list[0]['grid_id'], db_grids[0]['grid_id']) self.assertEqual(grid_list[0]['grid_name'], db_grids[0]['grid_name']) self.assertEqual(grid_list[0]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[0]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[0]['grid_status'], db_grids[0]['grid_status']) db_grids = infoblox_db.get_grids(self.ctx.session, grid_id=grid_list[1]['grid_id'], grid_name=grid_list[0]['grid_name']) self.assertEqual([], db_grids) # test grid retrieval by grid_id and grid_name filters db_grids = infoblox_db.get_grids(self.ctx.session, grid_id=grid_list[1]['grid_id'], grid_name=grid_list[1]['grid_name']) self.assertEqual(grid_list[1]['grid_id'], db_grids[0]['grid_id']) self.assertEqual(grid_list[1]['grid_name'], db_grids[0]['grid_name']) self.assertEqual(grid_list[1]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[1]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[1]['grid_status'], db_grids[0]['grid_status']) # test grid update grid_name_update = "Test Grid 1000 Enhanced" grid_connection_json = { "wapi_version": "2.0", "ssl_verify": False, "http_pool_connections": 100, "http_pool_maxsize": 100, "http_request_timeout": 120, "admin_user": {"name": "admin", "password": "******"} } grid_connection_json_string = jsonutils.dumps(grid_connection_json) infoblox_db.update_grid(self.ctx.session, grid_list[0]['grid_id'], grid_name_update, grid_connection_json_string) db_grids = infoblox_db.get_grids(self.ctx.session, grid_list[0]['grid_id']) self.assertEqual(grid_name_update, db_grids[0]['grid_name']) self.assertEqual(grid_connection_json_string, db_grids[0]['grid_connection']) # test grid removal infoblox_db.remove_grids(self.ctx.session, [grid_list[0]['grid_id']]) db_grids = infoblox_db.get_grids(self.ctx.session, grid_list[0]['grid_id']) self.assertEqual(0, len(db_grids)) # remove two grids self._create_grids([grid_list[0]]) infoblox_db.remove_grids(self.ctx.session, [grid_list[0]['grid_id'], grid_list[1]['grid_id']]) db_grids = infoblox_db.get_grids(self.ctx.session) self.assertEqual(0, len(db_grids))
def test_grid_management(self): grid_list = [{ 'grid_id': 100, 'grid_name': 'Test Grid 1000', 'grid_connection': '{}', 'grid_status': 'ON' }, { 'grid_id': 200, 'grid_name': 'Test Grid 2000', 'grid_connection': '{}', 'grid_status': 'OFF' }] # expects no grid db_grids = infoblox_db.get_grids(self.ctx.session) self.assertEqual(0, len(db_grids)) # test grid additions self._create_grids(grid_list) db_grids = infoblox_db.get_grids(self.ctx.session) actual_grid_rows = utils.get_composite_values_from_records( ['grid_id', 'grid_name', 'grid_connection', 'grid_status'], db_grids) expected_grid_rows = utils.get_composite_values_from_records( ['grid_id', 'grid_name', 'grid_connection', 'grid_status'], grid_list) self.assertEqual(expected_grid_rows, actual_grid_rows) # test grid retrieval by grid_id filter db_grids = infoblox_db.get_grids(self.ctx.session, grid_id=grid_list[0]['grid_id']) self.assertEqual(grid_list[0]['grid_id'], db_grids[0]['grid_id']) self.assertEqual(grid_list[0]['grid_name'], db_grids[0]['grid_name']) self.assertEqual(grid_list[0]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[0]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[0]['grid_status'], db_grids[0]['grid_status']) db_grids = infoblox_db.get_grids(self.ctx.session, grid_id=grid_list[1]['grid_id'], grid_name=grid_list[0]['grid_name']) self.assertEqual([], db_grids) # test grid retrieval by grid_id and grid_name filters db_grids = infoblox_db.get_grids(self.ctx.session, grid_id=grid_list[1]['grid_id'], grid_name=grid_list[1]['grid_name']) self.assertEqual(grid_list[1]['grid_id'], db_grids[0]['grid_id']) self.assertEqual(grid_list[1]['grid_name'], db_grids[0]['grid_name']) self.assertEqual(grid_list[1]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[1]['grid_connection'], db_grids[0]['grid_connection']) self.assertEqual(grid_list[1]['grid_status'], db_grids[0]['grid_status']) # test grid update grid_name_update = "Test Grid 1000 Enhanced" grid_connection_json = { "wapi_version": "2.0", "ssl_verify": False, "http_pool_connections": 100, "http_pool_maxsize": 100, "http_request_timeout": 120, "admin_user": { "name": "admin", "password": "******" } } grid_connection_json_string = jsonutils.dumps(grid_connection_json) infoblox_db.update_grid(self.ctx.session, grid_list[0]['grid_id'], grid_name_update, grid_connection_json_string) db_grids = infoblox_db.get_grids(self.ctx.session, grid_list[0]['grid_id']) self.assertEqual(grid_name_update, db_grids[0]['grid_name']) self.assertEqual(grid_connection_json_string, db_grids[0]['grid_connection']) # test grid removal infoblox_db.remove_grids(self.ctx.session, [grid_list[0]['grid_id']]) db_grids = infoblox_db.get_grids(self.ctx.session, grid_list[0]['grid_id']) self.assertEqual(0, len(db_grids)) # remove two grids self._create_grids([grid_list[0]]) infoblox_db.remove_grids( self.ctx.session, [grid_list[0]['grid_id'], grid_list[1]['grid_id']]) db_grids = infoblox_db.get_grids(self.ctx.session) self.assertEqual(0, len(db_grids))
def test_member_management(self): # prepare grid self._create_default_grid() member_list = [{'member_id': 'M_1000', 'member_name': 'Member 1000', 'member_ip': '10.10.1.12', 'member_ipv6': None, 'member_type': 'REGULAR', 'member_status': 'ON'}, {'member_id': 'M_2000', 'member_name': 'Member 2000', 'member_ip': '10.10.1.22', 'member_ipv6': 'fd44:acb:5df6:1083::22', 'member_type': 'CPM', 'member_status': 'ON'}] # expects no member db_members = infoblox_db.get_members(self.ctx.session) self.assertEqual(0, len(db_members)) # test member additions self._create_members(member_list, self.grid_id) db_members = infoblox_db.get_members(self.ctx.session) actual_member_rows = utils.get_composite_values_from_records( ['member_id', 'member_name', 'member_ip', 'member_ipv6', 'member_type', 'member_status'], db_members) expected_member_rows = utils.get_composite_values_from_records( ['member_id', 'member_name', 'member_ip', 'member_ipv6', 'member_type', 'member_status'], member_list) self.assertEqual(expected_member_rows, actual_member_rows) # test member update member_name_update = "Member 1000 VM" member_ipv6_update = "fd44:acb:5df6:1083::12" infoblox_db.update_member(self.ctx.session, member_list[0]['member_id'], self.grid_id, member_name=member_name_update, member_ipv6=member_ipv6_update) db_members = infoblox_db.get_members(self.ctx.session, member_list[0]['member_id'], grid_id=self.grid_id) self.assertEqual(member_name_update, db_members[0]['member_name']) self.assertEqual(member_ipv6_update, db_members[0]['member_ipv6']) # test member removals infoblox_db.remove_members(self.ctx.session, [member_list[0]['member_id']]) db_members = infoblox_db.get_members(self.ctx.session, member_list[0]['member_id']) self.assertEqual(0, len(db_members)) self._create_members([member_list[0]], self.grid_id) db_members = infoblox_db.get_members(self.ctx.session) self.assertEqual(2, len(db_members)) infoblox_db.remove_members(self.ctx.session, [member_list[0]['member_id'], member_list[1]['member_id']]) db_members = infoblox_db.get_members(self.ctx.session) self.assertEqual(0, len(db_members)) infoblox_db.remove_grids(self.ctx.session, [self.grid_id])
def test_member_management(self): # prepare grid self._create_default_grid() member_list = [{ 'member_id': 'M_1000', 'member_name': 'Member 1000', 'member_ip': '10.10.1.12', 'member_ipv6': None, 'member_type': 'REGULAR', 'member_status': 'ON' }, { 'member_id': 'M_2000', 'member_name': 'Member 2000', 'member_ip': '10.10.1.22', 'member_ipv6': 'fd44:acb:5df6:1083::22', 'member_type': 'CPM', 'member_status': 'ON' }] # expects no member db_members = infoblox_db.get_members(self.ctx.session) self.assertEqual(0, len(db_members)) # test member additions self._create_members(member_list, self.grid_id) db_members = infoblox_db.get_members(self.ctx.session) actual_member_rows = utils.get_composite_values_from_records([ 'member_id', 'member_name', 'member_ip', 'member_ipv6', 'member_type', 'member_status' ], db_members) expected_member_rows = utils.get_composite_values_from_records([ 'member_id', 'member_name', 'member_ip', 'member_ipv6', 'member_type', 'member_status' ], member_list) self.assertEqual(expected_member_rows, actual_member_rows) # test member update member_name_update = "Member 1000 VM" member_ipv6_update = "fd44:acb:5df6:1083::12" infoblox_db.update_member(self.ctx.session, member_list[0]['member_id'], self.grid_id, member_name=member_name_update, member_ipv6=member_ipv6_update) db_members = infoblox_db.get_members(self.ctx.session, member_list[0]['member_id'], grid_id=self.grid_id) self.assertEqual(member_name_update, db_members[0]['member_name']) self.assertEqual(member_ipv6_update, db_members[0]['member_ipv6']) # test member removals infoblox_db.remove_members(self.ctx.session, [member_list[0]['member_id']]) db_members = infoblox_db.get_members(self.ctx.session, member_list[0]['member_id']) self.assertEqual(0, len(db_members)) self._create_members([member_list[0]], self.grid_id) db_members = infoblox_db.get_members(self.ctx.session) self.assertEqual(2, len(db_members)) infoblox_db.remove_members( self.ctx.session, [member_list[0]['member_id'], member_list[1]['member_id']]) db_members = infoblox_db.get_members(self.ctx.session) self.assertEqual(0, len(db_members)) infoblox_db.remove_grids(self.ctx.session, [self.grid_id])