Skip to content

Commit cf3982b

Browse files
update test script for sampling features
1 parent 5b6fb96 commit cf3982b

4 files changed

Lines changed: 189 additions & 61 deletions

File tree

conSys/con_sys_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ def make_request(self):
2020
case 'POST':
2121
return post_request(self.url, self.body, self.headers, self.auth)
2222
case 'PUT':
23+
print(f'PUT request: {self}')
2324
return put_request(self.url, self.body, self.headers, self.auth)
2425
case 'DELETE':
2526
return delete_request(self.url, self.params, self.headers, self.auth)

conSys/part_1/sampling_features.py

Lines changed: 34 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
from typing import Union
2+
13
from pydantic import HttpUrl
24

35
from conSys.con_sys_api import ConnectedSystemsRequestBuilder
46
from conSys.constants import APITerms
57

68

7-
def list_all_sampling_features(server_addr: HttpUrl, api_root: str = APITerms.API.value):
9+
def list_all_sampling_features(server_addr: HttpUrl, api_root: str = APITerms.API.value, headers=None):
810
"""
911
Lists all sampling features in the server at the default API endpoint
1012
:return:
@@ -14,11 +16,14 @@ def list_all_sampling_features(server_addr: HttpUrl, api_root: str = APITerms.AP
1416
.with_api_root(api_root)
1517
.for_resource_type(APITerms.SAMPLING_FEATURES.value)
1618
.build_url_from_base()
19+
.with_headers(headers)
20+
.with_request_method('GET')
1721
.build())
18-
return api_request
22+
return api_request.make_request()
1923

2024

21-
def list_sampling_features_of_system(server_addr: HttpUrl, system_id: str, api_root: str = APITerms.API.value):
25+
def list_sampling_features_of_system(server_addr: HttpUrl, system_id: str, api_root: str = APITerms.API.value,
26+
headers=None):
2227
"""
2328
Lists all sampling features of a system by its id
2429
:return:
@@ -30,26 +35,34 @@ def list_sampling_features_of_system(server_addr: HttpUrl, system_id: str, api_r
3035
.with_resource_id(system_id)
3136
.for_sub_resource_type(APITerms.SAMPLING_FEATURES.value)
3237
.build_url_from_base()
38+
.with_headers(headers)
39+
.with_request_method('GET')
3340
.build())
34-
return api_request
41+
return api_request.make_request()
3542

3643

37-
def create_new_sampling_feature(server_addr: HttpUrl, request_body: dict, api_root: str = APITerms.API.value):
44+
def create_new_sampling_features(server_addr: HttpUrl, system_id: str, request_body: Union[dict, str],
45+
api_root: str = APITerms.API.value, headers=None):
3846
"""
3947
Create a new sampling feature as defined by the request body
4048
:return:
4149
"""
4250
builder = ConnectedSystemsRequestBuilder()
4351
api_request = (builder.with_server_url(server_addr)
4452
.with_api_root(api_root)
45-
.for_resource_type(APITerms.SAMPLING_FEATURES.value)
53+
.for_resource_type(APITerms.SYSTEMS.value)
54+
.with_resource_id(system_id)
55+
.for_sub_resource_type(APITerms.SAMPLING_FEATURES.value)
4656
.with_request_body(request_body)
4757
.build_url_from_base()
58+
.with_headers(headers)
59+
.with_request_method('POST')
4860
.build())
49-
return api_request
61+
return api_request.make_request()
5062

5163

52-
def retrieve_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str, api_root: str = APITerms.API.value):
64+
def retrieve_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str, api_root: str = APITerms.API.value,
65+
headers=None):
5366
"""
5467
Retrieve a sampling feature by its ID
5568
:return:
@@ -60,12 +73,14 @@ def retrieve_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: s
6073
.for_resource_type(APITerms.SAMPLING_FEATURES.value)
6174
.with_resource_id(sampling_feature_id)
6275
.build_url_from_base()
76+
.with_headers(headers)
77+
.with_request_method('GET')
6378
.build())
64-
return api_request
79+
return api_request.make_request()
6580

6681

67-
def update_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str, request_body: dict,
68-
api_root: str = APITerms.API.value):
82+
def update_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str, request_body: Union[dict, str],
83+
api_root: str = APITerms.API.value, headers=None):
6984
"""
7085
Update a sampling feature by its ID
7186
:return:
@@ -77,11 +92,14 @@ def update_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str
7792
.with_resource_id(sampling_feature_id)
7893
.with_request_body(request_body)
7994
.build_url_from_base()
95+
.with_headers(headers)
96+
.with_request_method('PUT')
8097
.build())
81-
return api_request
98+
return api_request.make_request()
8299

83100

84-
def delete_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str, api_root: str = APITerms.API.value):
101+
def delete_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str, api_root: str = APITerms.API.value,
102+
headers=None):
85103
"""
86104
Delete a sampling feature by its ID
87105
:return:
@@ -92,5 +110,7 @@ def delete_sampling_feature_by_id(server_addr: HttpUrl, sampling_feature_id: str
92110
.for_resource_type(APITerms.SAMPLING_FEATURES.value)
93111
.with_resource_id(sampling_feature_id)
94112
.build_url_from_base()
113+
.with_headers(headers)
114+
.with_request_method('DELETE')
95115
.build())
96-
return api_request
116+
return api_request.make_request()

conSys/part_2/datastreams.py

Lines changed: 40 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1+
from typing import Union
2+
13
import requests
24
from pydantic import HttpUrl
35

46
from conSys.con_sys_api import ConnectedSystemsRequestBuilder
57
from conSys.constants import APITerms
68

79

8-
def list_all_datastreams(server_addr: HttpUrl, api_root: str = APITerms.API.value):
10+
def list_all_datastreams(server_addr: HttpUrl, api_root: str = APITerms.API.value, headers: dict = None):
911
"""
1012
Lists all datastreams
1113
:return:
@@ -15,12 +17,15 @@ def list_all_datastreams(server_addr: HttpUrl, api_root: str = APITerms.API.valu
1517
.with_api_root(api_root)
1618
.for_resource_type(APITerms.DATASTREAMS.value)
1719
.build_url_from_base()
20+
.with_headers(headers)
21+
.with_request_method('GET')
1822
.build())
19-
resp = requests.get(api_request.url, params=api_request.body, headers=api_request.headers)
20-
return resp.json()
23+
24+
return api_request.make_request()
2125

2226

23-
def list_all_datastreams_of_system(server_addr: HttpUrl, system_id: str, api_root: str = APITerms.API.value):
27+
def list_all_datastreams_of_system(server_addr: HttpUrl, system_id: str, api_root: str = APITerms.API.value,
28+
headers=None):
2429
"""
2530
Lists all datastreams of a system
2631
:return:
@@ -32,13 +37,14 @@ def list_all_datastreams_of_system(server_addr: HttpUrl, system_id: str, api_roo
3237
.with_resource_id(system_id)
3338
.for_resource_type(APITerms.DATASTREAMS.value)
3439
.build_url_from_base()
40+
.with_headers(headers)
41+
.with_request_method('GET')
3542
.build())
36-
resp = requests.get(api_request.url, params=api_request.body, headers=api_request.headers)
37-
return resp.json()
43+
return api_request.make_request()
3844

3945

40-
def add_datastreams_to_system(server_addr: HttpUrl, system_id: str, request_body: dict,
41-
api_root: str = APITerms.API.value):
46+
def add_datastreams_to_system(server_addr: HttpUrl, system_id: str, request_body: Union[str, dict],
47+
api_root: str = APITerms.API.value, headers=None):
4248
"""
4349
Adds a datastream to a system by its id
4450
:return:
@@ -51,12 +57,14 @@ def add_datastreams_to_system(server_addr: HttpUrl, system_id: str, request_body
5157
.for_resource_type(APITerms.DATASTREAMS.value)
5258
.with_request_body(request_body)
5359
.build_url_from_base()
60+
.with_headers(headers)
61+
.with_request_method('POST')
5462
.build())
55-
resp = requests.post(api_request.url, params=api_request.body, headers=api_request.headers)
56-
return resp.json()
63+
return api_request.make_request()
5764

5865

59-
def retrieve_datastream_by_id(server_addr: HttpUrl, datastream_id: str, api_root: str = APITerms.API.value):
66+
def retrieve_datastream_by_id(server_addr: HttpUrl, datastream_id: str, api_root: str = APITerms.API.value,
67+
headers=None):
6068
"""
6169
Retrieves a datastream by its id
6270
:return:
@@ -67,13 +75,14 @@ def retrieve_datastream_by_id(server_addr: HttpUrl, datastream_id: str, api_root
6775
.for_resource_type(APITerms.DATASTREAMS.value)
6876
.with_resource_id(datastream_id)
6977
.build_url_from_base()
78+
.with_headers(headers)
79+
.with_request_method('GET')
7080
.build())
71-
resp = requests.get(api_request.url, params=api_request.body, headers=api_request.headers)
72-
return resp.json()
81+
return api_request.make_request()
7382

7483

75-
def update_datastream_by_id(server_addr: HttpUrl, datastream_id: str, request_body: dict,
76-
api_root: str = APITerms.API.value):
84+
def update_datastream_by_id(server_addr: HttpUrl, datastream_id: str, request_body: Union[str, dict],
85+
api_root: str = APITerms.API.value, headers=None):
7786
"""
7887
Updates a datastream by its id
7988
:return:
@@ -85,12 +94,13 @@ def update_datastream_by_id(server_addr: HttpUrl, datastream_id: str, request_bo
8594
.with_resource_id(datastream_id)
8695
.with_request_body(request_body)
8796
.build_url_from_base()
97+
.with_headers(headers)
98+
.with_request_method('PUT')
8899
.build())
89-
resp = requests.put(api_request.url, params=api_request.body, headers=api_request.headers)
90-
return resp.json()
100+
return api_request.make_request()
91101

92102

93-
def delete_datastream_by_id(server_addr: HttpUrl, datastream_id: str, api_root: str = APITerms.API.value):
103+
def delete_datastream_by_id(server_addr: HttpUrl, datastream_id: str, api_root: str = APITerms.API.value, headers=None):
94104
"""
95105
Deletes a datastream by its id
96106
:return:
@@ -101,12 +111,14 @@ def delete_datastream_by_id(server_addr: HttpUrl, datastream_id: str, api_root:
101111
.for_resource_type(APITerms.DATASTREAMS.value)
102112
.with_resource_id(datastream_id)
103113
.build_url_from_base()
114+
.with_headers(headers)
115+
.with_request_method('DELETE')
104116
.build())
105-
resp = requests.delete(api_request.url, params=api_request.body, headers=api_request.headers)
106-
return resp.json()
117+
return api_request.make_request()
107118

108119

109-
def retrieve_datastream_schema(server_addr: HttpUrl, datastream_id: str, api_root: str = APITerms.API.value):
120+
def retrieve_datastream_schema(server_addr: HttpUrl, datastream_id: str, api_root: str = APITerms.API.value,
121+
headers=None):
110122
"""
111123
Retrieves a datastream schema by its id
112124
:return:
@@ -118,13 +130,14 @@ def retrieve_datastream_schema(server_addr: HttpUrl, datastream_id: str, api_roo
118130
.with_resource_id(datastream_id)
119131
.for_resource_type(APITerms.SCHEMA.value)
120132
.build_url_from_base()
133+
.with_headers(headers)
134+
.with_request_method('GET')
121135
.build())
122-
resp = requests.get(api_request.url, params=api_request.body, headers=api_request.headers)
123-
return resp.json()
136+
return api_request.make_request()
124137

125138

126139
def update_datastream_schema(server_addr: HttpUrl, datastream_id: str, request_body: dict,
127-
api_root: str = APITerms.API.value):
140+
api_root: str = APITerms.API.value, headers=None):
128141
"""
129142
Updates a datastream schema by its id
130143
:return:
@@ -137,6 +150,7 @@ def update_datastream_schema(server_addr: HttpUrl, datastream_id: str, request_b
137150
.for_resource_type(APITerms.SCHEMA.value)
138151
.with_request_body(request_body)
139152
.build_url_from_base()
153+
.with_headers(headers)
154+
.with_request_method('PUT')
140155
.build())
141-
resp = requests.put(api_request.url, params=api_request.body, headers=api_request.headers)
142-
return resp.json()
156+
return api_request.make_request()

0 commit comments

Comments
 (0)