해결과정
저번 과제로 컬럼을 추가하였지만 테스트 코드는 반영을 안한 상태
test_server.py 내부에 존재하는 TestServerList 관련 부분을 수정해야함
예상(reference) 컬럼에는 없던 ‘Project Name’, ‘User Name’ 컬럼이 실제 결과(actual) 컬럼에 포함되어 있어서 불일치 발생
컬럼 기대값 수정
TestServerList 클래스 수정
_TestServerList
, TestServerListV273
에서
기존의 columns
, columns_long
, columns_all_projects
에 추가 정의한 컬럼 (Project Name
,User Name
)추가
class _TestServerList(TestServer):
# Columns to be listed up.
columns = (
'ID',
'Name',
'Status',
'Networks',
'Image',
'Flavor',
# 컬럼 추가
'Project Name',
'User Name'
)
columns_long = (
'ID',
'Name',
'Status',
'Task State',
'Power State',
'Networks',
'Image Name',
'Image ID',
'Flavor Name',
'Flavor ID',
'Availability Zone',
'Pinned Availability Zone',
'Host',
'Properties',
'Scheduler Hints',
# 컬럼 추가
'Project Name',
'User Name'
)
columns_all_projects = (
'ID',
'Name',
'Status',
'Networks',
'Image',
'Flavor',
'Project ID',
# 컬럼 추가
'Project Name',
'User Name'
)
mock 데이터 수정
self.data
, setup_sdk_servers_mock
수정
self.data = tuple(
(
s.id,
s.name,
s.status,
server.AddressesColumn(s.addresses),
# Image will be an empty string if boot-from-volume
self.image.name if s.image else server.IMAGE_STRING_FOR_BFV,
self.flavor.name,
# 3주차 과제 추가
s.project_name,
s.user_name,
)
for s in self.servers
)
def setup_sdk_servers_mock(self, count):
servers = compute_fakes.create_servers(
attrs=self.attrs,
count=count,
)
# 테스트용 속성 추가
for mock_server in servers:
mock_server.project_name = getattr(
mock_server, 'project_id', 'test-project'
)
mock_server.user_name = getattr(
mock_server, 'user_id', 'test-user'
)
# This is the return value for compute_client.find_server()
self.compute_client.find_server.side_effect = servers
return servers
진행한 과제가 잘못된 방향이거나 추가로 공부할 내용이 있으면 더 공부해보겠습니다!