Add scada model type to scada element

This commit is contained in:
WQY\qiong
2023-04-06 00:50:44 +08:00
parent 2e4ae1bd9f
commit 02b5ef71f2
6 changed files with 141 additions and 28 deletions

View File

@@ -5174,28 +5174,50 @@ class TestApi:
assert get_scada_elements(p) == []
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j0', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm0')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j0', 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm0')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm0')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm0')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm0')
assert sm['id'] == 'sm0'
assert sm['x'] == 0.0
assert sm['y'] == 1.0
assert sm['device_id'] == 'sd0'
assert sm['model_id'] == 'j1'
assert sm['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert sm['status'] == SCADA_ELEMENT_STATUS_OFFLINE
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p0', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm1')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p0', 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm1')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'status': SCADA_ELEMENT_STATUS_ONLINE}))
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm1')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p0', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm1')
assert sm == {}
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm1')
assert sm['id'] == 'sm1'
assert sm['x'] == 1.0
assert sm['y'] == 2.0
assert sm['device_id'] == 'sd1'
assert sm['model_id'] == 'p1'
assert sm['model_type'] == SCADA_MODEL_TYPE_PIPE
assert sm['status'] == SCADA_ELEMENT_STATUS_ONLINE
elements = get_scada_elements(p)
@@ -5203,22 +5225,44 @@ class TestApi:
assert elements[0] == 'sm0'
assert elements[1] == 'sm1'
set_scada_element(p, ChangeSet({'id': 'sm0', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'status': SCADA_ELEMENT_STATUS_ONLINE}))
set_scada_element(p, ChangeSet({'id': 'sm0', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm0')
assert sm['id'] == 'sm0'
assert sm['x'] == 1.0
assert sm['y'] == 2.0
assert sm['device_id'] == 'sd1'
assert sm['model_id'] == 'p1'
assert sm['model_type'] == SCADA_MODEL_TYPE_PIPE
assert sm['status'] == SCADA_ELEMENT_STATUS_ONLINE
set_scada_element(p, ChangeSet({'id': 'sm1', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
set_scada_element(p, ChangeSet({'id': 'sm0', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm0')
assert sm['id'] == 'sm0'
assert sm['x'] == 1.0
assert sm['y'] == 2.0
assert sm['device_id'] == 'sd1'
assert sm['model_id'] == 'p1'
assert sm['model_type'] == SCADA_MODEL_TYPE_PIPE
assert sm['status'] == SCADA_ELEMENT_STATUS_ONLINE
set_scada_element(p, ChangeSet({'id': 'sm1', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm1')
assert sm['id'] == 'sm1'
assert sm['x'] == 0.0
assert sm['y'] == 1.0
assert sm['device_id'] == 'sd0'
assert sm['model_id'] == 'j1'
assert sm['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert sm['status'] == SCADA_ELEMENT_STATUS_OFFLINE
set_scada_element(p, ChangeSet({'id': 'sm1', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm1')
assert sm['id'] == 'sm1'
assert sm['x'] == 0.0
assert sm['y'] == 1.0
assert sm['device_id'] == 'sd0'
assert sm['model_id'] == 'j1'
assert sm['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert sm['status'] == SCADA_ELEMENT_STATUS_OFFLINE
delete_scada_element(p, ChangeSet({'id': 'sm0'}))
@@ -5231,22 +5275,24 @@ class TestApi:
assert get_scada_elements(p) == []
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE}))
sm = get_scada_element(p, 'sm0')
assert sm['id'] == 'sm0'
assert sm['x'] == 0.0
assert sm['y'] == 1.0
assert sm['device_id'] == 'sd0'
assert sm['model_id'] == 'j1'
assert sm['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert sm['status'] == SCADA_ELEMENT_STATUS_OFFLINE
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'status': SCADA_ELEMENT_STATUS_ONLINE}))
add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE}))
sm = get_scada_element(p, 'sm1')
assert sm['id'] == 'sm1'
assert sm['x'] == 1.0
assert sm['y'] == 2.0
assert sm['device_id'] == 'sd1'
assert sm['model_id'] == 'p1'
assert sm['model_type'] == SCADA_MODEL_TYPE_PIPE
assert sm['status'] == SCADA_ELEMENT_STATUS_ONLINE
elements = get_scada_elements(p)
@@ -5275,9 +5321,9 @@ class TestApi:
add_scada_device(p, ChangeSet({'id': 'sd0', 'name': 'device0', 'address': 'x0', 'sd_type': SCADA_DEVICE_TYPE_PRESSURE}))
add_scada_device(p, ChangeSet({'id': 'sd1', 'name': 'device1', 'address': 'x1', 'sd_type': SCADA_DEVICE_TYPE_FLOW}))
css = add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j0', 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations
css = add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j0', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations
assert len(css) == 0
cs = add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations[0]
cs = add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm0'
@@ -5285,6 +5331,7 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
cs = execute_undo(p).operations[0]
@@ -5300,11 +5347,12 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
css = add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p0', 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations
css = add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p0', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations
assert len(css) == 0
cs = add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations[0]
cs = add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm1'
@@ -5312,6 +5360,7 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = execute_undo(p).operations[0]
@@ -5327,9 +5376,10 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = set_scada_element(p, ChangeSet({'id': 'sm0', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations[0]
cs = set_scada_element(p, ChangeSet({'id': 'sm0', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm0'
@@ -5337,6 +5387,7 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = execute_undo(p).operations[0]
@@ -5347,6 +5398,7 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
cs = execute_redo(p).operations[0]
@@ -5357,9 +5409,10 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = set_scada_element(p, ChangeSet({'id': 'sm1', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations[0]
cs = set_scada_element(p, ChangeSet({'id': 'sm1', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations[0]
assert cs['operation'] == API_UPDATE
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm1'
@@ -5367,6 +5420,7 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
cs = execute_undo(p).operations[0]
@@ -5377,6 +5431,7 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = execute_redo(p).operations[0]
@@ -5387,6 +5442,7 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
cs = delete_scada_element(p, ChangeSet({'id': 'sm0'})).operations[0]
@@ -5402,6 +5458,7 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = execute_redo(p).operations[0]
@@ -5422,6 +5479,7 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
cs = execute_redo(p).operations[0]
@@ -5429,7 +5487,7 @@ class TestApi:
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm1'
cs = add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations[0]
cs = add_scada_element(p, ChangeSet({'id': 'sm0', 'x': 0.0, 'y': 1.0, 'device_id': 'sd0', 'model_id': 'j1', 'model_type': SCADA_MODEL_TYPE_JUNCTION, 'status': SCADA_ELEMENT_STATUS_OFFLINE})).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm0'
@@ -5437,9 +5495,10 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
cs = add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations[0]
cs = add_scada_element(p, ChangeSet({'id': 'sm1', 'x': 1.0, 'y': 2.0, 'device_id': 'sd1', 'model_id': 'p1', 'model_type': SCADA_MODEL_TYPE_PIPE, 'status': SCADA_ELEMENT_STATUS_ONLINE})).operations[0]
assert cs['operation'] == API_ADD
assert cs['type'] == 'scada_element'
assert cs['id'] == 'sm1'
@@ -5447,6 +5506,7 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
css = clean_scada_element(p).operations
@@ -5468,6 +5528,7 @@ class TestApi:
assert cs['y'] == 2.0
assert cs['device_id'] == 'sd1'
assert cs['model_id'] == 'p1'
assert cs['model_type'] == SCADA_MODEL_TYPE_PIPE
assert cs['status'] == SCADA_ELEMENT_STATUS_ONLINE
cs = css[1]
assert cs['operation'] == API_ADD
@@ -5477,6 +5538,7 @@ class TestApi:
assert cs['y'] == 1.0
assert cs['device_id'] == 'sd0'
assert cs['model_id'] == 'j1'
assert cs['model_type'] == SCADA_MODEL_TYPE_JUNCTION
assert cs['status'] == SCADA_ELEMENT_STATUS_OFFLINE
css = execute_redo(p).operations