Skip to content

Commit ebaadb7

Browse files
partial tests for control channels
1 parent 3ab5a85 commit ebaadb7

2 files changed

Lines changed: 48 additions & 7 deletions

File tree

conSys/part_2/control_channels.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def list_control_streams_of_system(server_addr: HttpUrl, system_id: str, api_roo
3434
.with_api_root(api_root)
3535
.for_resource_type(APITerms.SYSTEMS.value)
3636
.with_resource_id(system_id)
37-
.for_resource_type(APITerms.CONTROL_STREAMS.value)
37+
.for_sub_resource_type(APITerms.CONTROL_STREAMS.value)
3838
.build_url_from_base()
3939
.with_headers(headers)
4040
.with_request_method('GET')
@@ -83,7 +83,7 @@ def retrieve_control_stream_description_by_id(server_addr: HttpUrl, control_stre
8383

8484
def update_control_stream_description_by_id(server_addr: HttpUrl, control_stream_id: str,
8585
request_body: Union[str, dict],
86-
api_root: str = APITerms.API.value):
86+
api_root: str = APITerms.API.value, headers: dict = None):
8787
"""
8888
Updates a control stream by its id
8989
:return:
@@ -95,9 +95,10 @@ def update_control_stream_description_by_id(server_addr: HttpUrl, control_stream
9595
.with_resource_id(control_stream_id)
9696
.with_request_body(request_body)
9797
.build_url_from_base()
98+
.with_headers(headers)
99+
.with_request_method('PUT')
98100
.build())
99-
resp = requests.put(api_request.url, params=api_request.body, headers=api_request.headers)
100-
return resp.json()
101+
return api_request.make_request()
101102

102103

103104
def delete_control_stream_by_id(server_addr: HttpUrl, control_stream_id: str, api_root: str = APITerms.API.value,
@@ -130,7 +131,7 @@ def retrieve_control_stream_schema_by_id(server_addr: HttpUrl, control_stream_id
130131
.with_api_root(api_root)
131132
.for_resource_type(APITerms.CONTROL_STREAMS.value)
132133
.with_resource_id(control_stream_id)
133-
.for_resource_type(APITerms.SCHEMA.value)
134+
.for_sub_resource_type(APITerms.SCHEMA.value)
134135
.build_url_from_base()
135136
.with_headers(headers)
136137
.with_request_method('GET')
@@ -139,7 +140,7 @@ def retrieve_control_stream_schema_by_id(server_addr: HttpUrl, control_stream_id
139140
return api_request.make_request()
140141

141142

142-
def update_control_stream_schema_by_id(server_addr: HttpUrl, control_stream_id: str, request_body: dict,
143+
def update_control_stream_schema_by_id(server_addr: HttpUrl, control_stream_id: str, request_body: Union[str, dict],
143144
api_root: str = APITerms.API.value, headers: dict = None):
144145
"""
145146
Updates a control stream schema by its id
@@ -150,7 +151,7 @@ def update_control_stream_schema_by_id(server_addr: HttpUrl, control_stream_id:
150151
.with_api_root(api_root)
151152
.for_resource_type(APITerms.CONTROL_STREAMS.value)
152153
.with_resource_id(control_stream_id)
153-
.for_resource_type(APITerms.SCHEMA.value)
154+
# .for_sub_resource_type(APITerms.SCHEMA.value)
154155
.with_request_body(request_body)
155156
.build_url_from_base()
156157
.with_headers(headers)

tests/test_script_full_suite.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,6 +315,46 @@ def test_list_control_streams():
315315
print(control_streams)
316316

317317

318+
def test_list_control_streams_of_system():
319+
systems_list = Systems.list_all_systems(server_url)
320+
system_id = systems_list["items"][0]["id"]
321+
control_streams = ControlChannels.list_control_streams_of_system(server_url, system_id)
322+
print(control_streams)
323+
324+
325+
def test_retrieve_control_stream_by_id():
326+
control_streams = ControlChannels.list_all_control_streams(server_url).json()
327+
control_stream_desc = ControlChannels.retrieve_control_stream_description_by_id(server_url,
328+
control_streams["items"][0]["id"])
329+
control_stream_schema = ControlChannels.retrieve_control_stream_schema_by_id(server_url,
330+
control_streams["items"][0]["id"])
331+
print(control_stream_desc.json())
332+
print(control_stream_schema.json())
333+
334+
335+
def test_update_control_stream_by_id():
336+
control_streams = ControlChannels.list_all_control_streams(server_url).json()
337+
338+
time_schema = TimeSchema(label="Test Control Channel Time (Updated)", definition="http://test.com/Time",
339+
uom=URI(href="http://test.com/TimeUOM"))
340+
count_schema = CountSchema(label="Test Control Channel Count (Updated)", definition="http://test.com/Count")
341+
bool_schema = BooleanSchema(label="Test Control Channel Boolean (Updated)", definition="http://test.com/Boolean")
342+
343+
control_schema = JSONControlChannelSchema(command_format=ObservationFormat.SWE_JSON.value,
344+
params_schema=DataRecordSchema(
345+
label="Test Control Channel Record (Updated)",
346+
definition="http://test.com/Record",
347+
fields=[bool_schema]))
348+
request_body = ControlStreamJSONSchema(name="Test Control Channel (Updated)", input_name="TestControlInput1",
349+
schema=control_schema)
350+
print(f'Request Body for Control Stream: {request_body.model_dump_json(exclude_none=True, by_alias=True)}')
351+
resp = ControlChannels.update_control_stream_schema_by_id(server_url, control_streams["items"][0]["id"],
352+
request_body.model_dump_json(exclude_none=True,
353+
by_alias=True),
354+
headers=json_headers)
355+
print(resp)
356+
357+
318358
"""
319359
Teardown Section
320360
"""

0 commit comments

Comments
 (0)