openstack volume group CRUD functional test 구현하기
- path:
python-openstackclient/openstackclient/tests/functional/volume/v3/test_volume_group.py
test_volume_group.py
-
import time import uuid from openstackclient.tests.functional.volume.v3 import common class VolumeTypeTests(common.BaseVolumeTests): """Functional tests for volume group.""" # Create def test_volume_group_create_list(self): volume_group_type = uuid.uuid4().hex self.openstack('volume group type create ' + volume_group_type) volume_type = 'lvmdriver-1' name = uuid.uuid4().hex cmd_output = self.openstack( f'volume group create {volume_group_type} {volume_type} --name {name}', parse_output=True, ) self.assertEqual(name, cmd_output['Name']) # Read cmd_output = self.openstack('volume group list', parse_output=True) self.assertIn(name, [t['Name'] for t in cmd_output]) #Update new_name = uuid.uuid4().hex md_output = self.openstack( f'volume group set {name} --name {new_name}', parse_output=True, ) cmd_output = self.openstack('volume group list', parse_output=True) self.assertIn(new_name, [t['Name'] for t in cmd_output]) # Delete self.addCleanup( self.openstack, 'volume group type delete ' + volume_group_type, ) self.addCleanup( self.openstack, 'volume group delete ' + new_name, ) -
volume group 삭제 후 volume group type 삭제(addCleaup은 역순으로 동작)
openstack CLI 흐름
openstack volume group type create <volume_group_type>
----------------assertEqual()--------------------
openstack volume group create <volume_group_type> <volume_type> --name test1
openstack volume group list
----------------assertIn()--------------------
openstack volume group set test1 --name test2
openstack volume group list
----------------assertIn()--------------------
openstack volume group delete test2
openstack volume group type delete <volume_group_type>
인증 정보 변경
- clouds.yaml
devstack:
auth:
auth_url: http://180.210.83.106/identity
project_name: admin
project_domain_id: default
username: admin
user_domain_id: default
password: <password>
region_name: RegionOne
volume_api_version: 3.14. # volume group cli 사용 위해 추가
- base.py
ADMIN_CLOUD = os.environ.get('OS_ADMIN_CLOUD', 'devstack')
functional test 실행 명령어
tox -e functional -- openstackclient.tests.functional.volume.v3.test_volume_group -v
