31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
import sys
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
APP = Path(__file__).resolve().parents[2] / "active-runtime" / "app"
|
|
sys.path.insert(0, str(APP))
|
|
|
|
from aios_incubator.adapters import AdapterCapability, AdapterResult, AdapterSession
|
|
from aios_incubator.runners import RunnerExecution, RunnerStatus
|
|
|
|
|
|
class AdapterAndRunnerContractTests(unittest.TestCase):
|
|
def test_adapter_values_are_channel_neutral(self) -> None:
|
|
session = AdapterSession("session-1", "tenant-1", "waiting")
|
|
capability = AdapterCapability("messages.read")
|
|
result = AdapterResult(True, "completed", {"count": 1})
|
|
self.assertEqual(session.tenant_id, "tenant-1")
|
|
self.assertEqual(capability.version, "1")
|
|
self.assertTrue(result.ok)
|
|
|
|
def test_runner_execution_has_provider_neutral_status(self) -> None:
|
|
execution = RunnerExecution("exec-1", "runner-1", RunnerStatus.RUNNING)
|
|
self.assertEqual(execution.status, RunnerStatus.RUNNING)
|
|
self.assertIsNone(execution.exit_code)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|