Skip to content
Snippets Groups Projects

WS-31: Submit capability request view

Merged Nathan Hertz requested to merge WS-31-submit-capability-request-view into main
All threads resolved!
3 files
+ 7
7
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -5,10 +5,11 @@ import pytest
from pyramid.config import Configurator
from pyramid.testing import DummyRequest, setUp, tearDown
from workspaces.capability.enums import CapabilityRequestState
from workspaces.capability.enums import CapabilityRequestState, ExecutionState
from workspaces.capability.helpers import Parameter
from workspaces.capability.schema import (
Capability,
CapabilityExecution,
CapabilityRequest,
CapabilityVersion,
)
@@ -40,11 +41,13 @@ class MockCapabilityInfo(MagicMock):
name="null",
steps="test",
max_jobs=2,
enabled=True,
),
Capability(
name="error",
steps="error",
max_jobs=-1,
enabled=True,
),
]
capability_requests = [
@@ -56,6 +59,7 @@ class MockCapabilityInfo(MagicMock):
versions=[],
)
]
capability_executions = []
def edit_capability(
self, name: str, steps: str = None, max_jobs: int = None, enabled: bool = None
@@ -92,6 +96,9 @@ class MockCapabilityInfo(MagicMock):
elif type(entity) is CapabilityRequest:
entity.id = len(self.capability_requests)
self.capability_requests.append(entity)
elif type(entity) is CapabilityExecution:
entity.id = len(self.capability_executions)
self.capability_executions.append(entity)
class MockCapabilityService(MagicMock):
@@ -125,6 +132,27 @@ class MockCapabilityService(MagicMock):
self.capability_info.save_entity(request)
return request
def run_capability(self, capability_request: CapabilityRequest) -> CapabilityExecution:
"""
Mock run_capability method
:param capability_request: Request to make an execution for
:return: Mocked execution
"""
execution = CapabilityExecution(
state=ExecutionState.Ready.name,
version=CapabilityVersion(
capability_request_id=capability_request.id,
version_number=1,
parameters=capability_request.parameters,
request=capability_request,
),
current_step=0,
steps="test",
)
self.capability_info.save_entity(execution)
return execution
@pytest.fixture(scope="module")
def request_null_capability() -> DummyRequest:
@@ -137,6 +165,6 @@ def request_null_capability() -> DummyRequest:
mock_capability_info = MockCapabilityInfo()
request = DummyRequest(
capability_info=mock_capability_info,
capabilities=MockCapabilityService(mock_capability_info),
capability_service=MockCapabilityService(mock_capability_info),
)
return request
Loading