Skip to content

Commit 1519a6d

Browse files
1013 fix csapi failing tests (#1021)
* unit tests and spec update - update online retrieval tests to use a mock server - update control streams and commands methods to match current spec * mark tests as online, remove old tests * Fix API path in Connected Systems and add online tests for system, datastream, observation, control stream, and command insertion * Add online tests for system, datastream, observation, control stream, and command deletion
1 parent f63fdb3 commit 1519a6d

File tree

2 files changed

+548
-234
lines changed

2 files changed

+548
-234
lines changed

owslib/ogcapi/connectedsystems.py

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ def system_create(self, data: str) -> dict:
146146
@returns: `dict` of system metadata
147147
"""
148148

149-
path = 'systems/'
149+
path = 'systems'
150150

151151
return self._request(path=path, method='POST', data=data)
152152

@@ -813,109 +813,109 @@ def observations_delete(self, observation_id: str) -> dict:
813813
return self._request(path=path, method='DELETE')
814814

815815

816-
class ControlChannels(ConnectedSystems):
816+
class ControlStreams(ConnectedSystems):
817817

818818
def __init__(self, url: str, json_: str = None, timeout: int = 30, headers: dict = None,
819819
auth: Authentication = None):
820820
__doc__ = Collections.__doc__ # noqa
821821
super().__init__(url, json_, timeout, headers, auth)
822822

823-
def controls(self, **kwargs) -> dict:
823+
def controlstreams(self, **kwargs) -> dict:
824824
"""
825-
implements /controls
825+
implements /controlstreams
826826
@returns: `dict` of control channel objects
827827
"""
828828

829-
path = 'controls'
829+
path = 'controlstreams'
830830
query_params = QueryArgs(**kwargs)
831831
p_list = ['id', 'q', 'issueTime', 'executionTime', 'system', 'foi', 'controlledProperty', 'limit']
832832
return self._request(path=path, kwargs=query_params.check_params(p_list))
833833

834-
def control(self, control_id: str) -> dict:
834+
def controlstream(self, control_id: str) -> dict:
835835
"""
836-
implements /controls/{control_id}
836+
implements /controlstreams/{control_id}
837837
@type control_id: string
838838
@param control_id: id of control channel
839839
@returns: `dict` of control channels
840840
"""
841841

842-
path = f'controls/{control_id}'
842+
path = f'controlstreams/{control_id}'
843843
return self._request(path=path)
844844

845845
def controls_of_system(self, system_id: str, **kwargs) -> dict:
846846
"""
847-
implements /systems/{system_id}/controls
847+
implements /systems/{system_id}/controlstreams
848848
@type system_id: string
849849
@param system_id: id of system
850850
@returns: `dict` of control channels
851851
"""
852852

853-
path = f'systems/{system_id}/controls'
853+
path = f'systems/{system_id}/controlstreams'
854854
query_params = QueryArgs(**kwargs)
855855
p_list = ['id', 'q', 'issueTime', 'executionTime', 'limit']
856856
return self._request(path=path, kwargs=query_params.check_params(p_list))
857857

858858
def control_create_in_system(self, system_id: str, data: str) -> dict:
859859
"""
860-
implements /controls
860+
implements /controlstreams
861861
@type system_id: string
862862
@param system_id: id of system
863863
@type data: dict
864864
@param data: JSON object
865865
@returns: `dict` of control channels
866866
"""
867867

868-
path = f'systems/{system_id}/controls'
868+
path = f'systems/{system_id}/controlstreams'
869869
return self._request(path=path, data=data, method='POST')
870870

871871
def control_update(self, control_id: str, data: str) -> dict:
872872
"""
873-
implements /controls/{control_id}
873+
implements /controlstreams/{control_id}
874874
@type control_id: string
875875
@param control_id: id of control channel
876876
@type data: dict
877877
@param data: JSON object
878878
@returns: `dict` of control channels
879879
"""
880880

881-
path = f'controls/{control_id}'
881+
path = f'controlstreams/{control_id}'
882882
return self._request(path=path, data=data, method='PUT')
883883

884884
def control_delete(self, control_id: str) -> dict:
885885
"""
886-
implements /controls/{control_id}
886+
implements /controlstreams/{control_id}
887887
@type control_id: string
888888
@param control_id: id of control channel
889889
@returns: `dict` of control channels
890890
"""
891891

892-
path = f'controls/{control_id}'
892+
path = f'controlstreams/{control_id}'
893893
return self._request(path=path, method='DELETE')
894894

895895
def control_retrieve_schema(self, control_id: str, **kwargs) -> dict:
896896
"""
897-
implements /controls/{control_id}/schema
897+
implements /controlstreams/{control_id}/schema
898898
@type control_id: string
899899
@param control_id: id of control channel
900900
@returns: `dict` of control channels
901901
"""
902902

903-
path = f'controls/{control_id}/schema'
903+
path = f'controlstreams/{control_id}/schema'
904904
query_params = QueryArgs(**kwargs)
905905
p_list = ['cmdFormat', 'type']
906906
return self._request(path=path, kwargs=query_params.check_params(p_list))
907907

908908
def control_update_schema(self, control_id: str, data: str) -> dict:
909909
"""
910-
implements /controls/{control_id}/schema
910+
implements /controlstreams/{control_id}/schema
911911
@type control_id: string
912912
@param control_id: id of control channel
913913
@type data: dict
914914
@param data: JSON object
915915
@returns: `dict` of control channels
916916
"""
917917

918-
path = f'controls/{control_id}/schema'
918+
path = f'controlstreams/{control_id}/schema'
919919
return self._request(path=path, data=data, method='PUT')
920920

921921

@@ -950,28 +950,28 @@ def command(self, command_id: str) -> dict:
950950

951951
def commands_of_control_channel(self, control_id: str, **kwargs) -> dict:
952952
"""
953-
implements /controls/{control_id}/commands
953+
implements /controlstreams/{control_id}/commands
954954
@type control_id: string
955955
@param control_id: id of control channel
956956
@returns: `dict` of commands object
957957
"""
958958

959-
path = f'controls/{control_id}/commands'
959+
path = f'controlstreams/{control_id}/commands'
960960
query_params = QueryArgs(**kwargs)
961961
p_list = ['id', 'issueTime', 'executionTime', 'foi', 'controlledProperty', 'limit']
962962
return self._request(path=path, kwargs=query_params.check_params(p_list))
963963

964964
def commands_send_command_in_control_stream(self, control_id: str, data: str) -> dict:
965965
"""
966-
implements /commands
966+
implements /controlstreams/{control_id}/commands
967967
@type control_id: string
968968
@param control_id: id of control channel
969969
@type data: dict
970970
@param data: JSON object
971971
@returns: `dict` of command metadata
972972
"""
973973

974-
path = f'controls/{control_id}/commands'
974+
path = f'controlstreams/{control_id}/commands'
975975
return self._request(path=path, data=data, method='POST')
976976

977977
def commands_delete_command(self, command_id: str) -> dict:

0 commit comments

Comments
 (0)