Skip to content

Commit 113b2fa

Browse files
committed
refactor for GraphQLTransport
1 parent 66568bc commit 113b2fa

File tree

5 files changed

+18
-7
lines changed

5 files changed

+18
-7
lines changed

src/fastcs/transport/epics/ca/adapter.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ def __init__(self, options: EpicsCAOptions | None = None):
2020
def initialise(
2121
self,
2222
controller_api: ControllerAPI,
23-
loop: asyncio.AbstractEventLoop,
23+
loop: asyncio.AbstractEventLoop | None = None,
2424
) -> None:
25+
if not loop:
26+
raise ValueError("EpicsCATransport expects a non-None loop")
2527
self._controller_api = controller_api
2628
self._loop = loop
2729
self._pv_prefix = self._options.ca_ioc.pv_prefix

src/fastcs/transport/epics/pva/adapter.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ def __init__(self, options: EpicsPVAOptions | None = None):
1818
def initialise(
1919
self,
2020
controller_api: ControllerAPI,
21-
loop: asyncio.AbstractEventLoop,
21+
loop: asyncio.AbstractEventLoop | None = None,
2222
) -> None:
23+
if not loop:
24+
raise ValueError("EpicsPVATransport expects a non-None loop")
25+
2326
self._controller_api = controller_api
2427
self._pv_prefix = self.options.pva_ioc.pv_prefix
2528
self._ioc = P4PIOC(self.options.pva_ioc.pv_prefix, controller_api)

src/fastcs/transport/graphql/adapter.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import asyncio
2+
13
from fastcs.controller_api import ControllerAPI
24
from fastcs.transport import Transport
35

@@ -8,12 +10,14 @@
810
class GraphQLTransport(Transport):
911
"""GraphQL transport."""
1012

11-
def __init__(
13+
def __init__(self, options: GraphQLOptions | None = None):
14+
self._options = options or GraphQLOptions()
15+
16+
def initialise(
1217
self,
1318
controller_api: ControllerAPI,
14-
options: GraphQLOptions | None = None,
19+
loop: asyncio.AbstractEventLoop | None = None,
1520
):
16-
self._options = options or GraphQLOptions()
1721
self._server = GraphQLServer(controller_api)
1822

1923
@property

src/fastcs/transport/transport.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ def context(self) -> dict[str, Any]:
3434
def initialise(
3535
self,
3636
controller_api: ControllerAPI,
37-
loop: asyncio.AbstractEventLoop,
37+
loop: asyncio.AbstractEventLoop | None = None,
3838
) -> None:
3939
pass

tests/transport/graphQL/test_graphql.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ def nest_response(path: list[str], value: Any) -> dict:
6666

6767

6868
def create_test_client(gql_controller_api: AssertableControllerAPI) -> TestClient:
69-
return TestClient(GraphQLTransport(gql_controller_api)._server._app)
69+
graphql_transport = GraphQLTransport()
70+
graphql_transport.initialise(gql_controller_api)
71+
return TestClient(graphql_transport._server._app)
7072

7173

7274
class TestGraphQLServer:

0 commit comments

Comments
 (0)