Skip to content

Commit c5c4ed6

Browse files
committed
style[service]: add assert statement to satisfy mypy type checker
1 parent c0d5f4b commit c5c4ed6

File tree

1 file changed

+31
-20
lines changed

1 file changed

+31
-20
lines changed

app/services/vm_service.py

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,15 @@
1111
from app.exceptions import (
1212
VMNotFoundException,
1313
InvalidStateTransitionException,
14-
VMAlreadyExistsException
14+
VMAlreadyExistsException,
15+
)
16+
from app.models.vm import (
17+
VMStatus,
18+
VMCreateRequest,
19+
VMResponse,
20+
VMListResponse,
21+
VMStatusResponse,
1522
)
16-
from app.models.vm import VMStatus, VMCreateRequest, VMResponse, VMListResponse, VMStatusResponse
1723
from app.repositories.vm_repository import VMRepository
1824

1925
logger = logging.getLogger(__name__)
@@ -80,10 +86,7 @@ def get_vm(self, vm_id: UUID) -> VMResponse:
8086
return VMResponse(**vm.to_dict())
8187

8288
def list_vms(
83-
self,
84-
page: int = 1,
85-
page_size: int = 10,
86-
status_filter: Optional[str] = None
89+
self, page: int = 1, page_size: int = 10, status_filter: Optional[str] = None
8790
) -> VMListResponse:
8891
"""
8992
List all VMs with pagination.
@@ -108,10 +111,7 @@ def list_vms(
108111

109112
logger.info(f"Listed {len(vm_responses)} VMs (page={page}, total={total})")
110113
return VMListResponse(
111-
items=vm_responses,
112-
total=total,
113-
page=page,
114-
page_size=page_size
114+
items=vm_responses, total=total, page=page, page_size=page_size
115115
)
116116

117117
def start_vm(self, vm_id: UUID) -> VMResponse:
@@ -133,10 +133,13 @@ def start_vm(self, vm_id: UUID) -> VMResponse:
133133
raise VMNotFoundException(vm_id)
134134

135135
if vm.status != VMStatus.STOPPED:
136-
logger.warning(f"Invalid state transition: Cannot start VM {vm_id} in state {vm.status}")
136+
logger.warning(
137+
f"Invalid state transition: Cannot start VM {vm_id} in state {vm.status}"
138+
)
137139
raise InvalidStateTransitionException(vm_id, str(vm.status), "start")
138140

139141
updated_vm = self.repository.update_status(vm_id, VMStatus.RUNNING)
142+
assert updated_vm is not None, f"VM {vm_id} should exist after status check"
140143
logger.info(f"VM started successfully: {vm_id}")
141144
return VMResponse(**updated_vm.to_dict())
142145

@@ -163,10 +166,13 @@ def stop_vm(self, vm_id: UUID) -> VMResponse:
163166
raise InvalidStateTransitionException(vm_id, str(vm.status), "stop")
164167

165168
if vm.status not in [VMStatus.RUNNING, VMStatus.PAUSED]:
166-
logger.warning(f"Invalid state transition: Cannot stop VM {vm_id} in state {vm.status}")
169+
logger.warning(
170+
f"Invalid state transition: Cannot stop VM {vm_id} in state {vm.status}"
171+
)
167172
raise InvalidStateTransitionException(vm_id, str(vm.status), "stop")
168173

169174
updated_vm = self.repository.update_status(vm_id, VMStatus.STOPPED)
175+
assert updated_vm is not None, f"VM {vm_id} should exist after status check"
170176
logger.info(f"VM stopped successfully: {vm_id}")
171177
return VMResponse(**updated_vm.to_dict())
172178

@@ -189,11 +195,14 @@ def restart_vm(self, vm_id: UUID) -> VMResponse:
189195
raise VMNotFoundException(vm_id)
190196

191197
if vm.status != VMStatus.RUNNING:
192-
logger.warning(f"Invalid state transition: Cannot restart VM {vm_id} in state {vm.status}")
198+
logger.warning(
199+
f"Invalid state transition: Cannot restart VM {vm_id} in state {vm.status}"
200+
)
193201
raise InvalidStateTransitionException(vm_id, str(vm.status), "restart")
194202

195203
# Restart keeps the status as RUNNING but updates the timestamp
196204
updated_vm = self.repository.update_status(vm_id, VMStatus.RUNNING)
205+
assert updated_vm is not None, f"VM {vm_id} should exist after status check"
197206
logger.info(f"VM restarted successfully: {vm_id}")
198207
return VMResponse(**updated_vm.to_dict())
199208

@@ -216,10 +225,13 @@ def pause_vm(self, vm_id: UUID) -> VMResponse:
216225
raise VMNotFoundException(vm_id)
217226

218227
if vm.status != VMStatus.RUNNING:
219-
logger.warning(f"Invalid state transition: Cannot pause VM {vm_id} in state {vm.status}")
228+
logger.warning(
229+
f"Invalid state transition: Cannot pause VM {vm_id} in state {vm.status}"
230+
)
220231
raise InvalidStateTransitionException(vm_id, str(vm.status), "pause")
221232

222233
updated_vm = self.repository.update_status(vm_id, VMStatus.PAUSED)
234+
assert updated_vm is not None, f"VM {vm_id} should exist after status check"
223235
logger.info(f"VM paused successfully: {vm_id}")
224236
return VMResponse(**updated_vm.to_dict())
225237

@@ -242,10 +254,13 @@ def resume_vm(self, vm_id: UUID) -> VMResponse:
242254
raise VMNotFoundException(vm_id)
243255

244256
if vm.status != VMStatus.PAUSED:
245-
logger.warning(f"Invalid state transition: Cannot resume VM {vm_id} in state {vm.status}")
257+
logger.warning(
258+
f"Invalid state transition: Cannot resume VM {vm_id} in state {vm.status}"
259+
)
246260
raise InvalidStateTransitionException(vm_id, str(vm.status), "resume")
247261

248262
updated_vm = self.repository.update_status(vm_id, VMStatus.RUNNING)
263+
assert updated_vm is not None, f"VM {vm_id} should exist after status check"
249264
logger.info(f"VM resumed successfully: {vm_id}")
250265
return VMResponse(**updated_vm.to_dict())
251266

@@ -283,8 +298,4 @@ def get_vm_status(self, vm_id: UUID) -> VMStatusResponse:
283298
if not vm:
284299
raise VMNotFoundException(vm_id)
285300

286-
return VMStatusResponse(
287-
vm_id=vm.id,
288-
status=vm.status,
289-
updated_at=vm.updated_at
290-
)
301+
return VMStatusResponse(vm_id=vm.id, status=vm.status, updated_at=vm.updated_at)

0 commit comments

Comments
 (0)