11# -------------------------------------------------------------------------
2- # Copyright (c) 2020, PTC Inc. and/or all its affiliates. All rights reserved.
2+ # Copyright (c) PTC Inc. and/or all its affiliates. All rights reserved.
33# See License.txt in the project root for
44# license information.
55# --------------------------------------------------------------------------
2121# Channel and Device name to be used
2222ch_name = 'Channel1'
2323dev_name = 'Device1'
24- log_group_name = 'LG1 '
24+ log_group_name = 'LG '
2525mqtt_agent_name = 'MQTT'
2626rest_agent_name = 'REST Client'
2727rserver_agent_name = 'REST Server'
@@ -38,8 +38,187 @@ def HTTPErrorHandler(err):
3838 else :
3939 print ('Different Exception Received: {}' .format (err ))
4040
41+ def __log_items_test (server , log_group ):
42+ log_item1 = {
43+ "common.ALLTYPES_NAME" : "LogItem1" ,
44+ "datalogger.LOG_ITEM_ID" : "_System._Time"
45+ }
46+
47+ log_item2 = {
48+ "common.ALLTYPES_NAME" : "LogItem2" ,
49+ "datalogger.LOG_ITEM_ID" : "_System._Date"
50+ }
51+
52+ try :
53+ print (datalogger .log_items .add_log_item (server , log_group , log_item1 ))
54+ except Exception as err :
55+ HTTPErrorHandler (err )
56+ try :
57+ print (datalogger .log_items .del_log_item (server , log_group , log_item1 ['common.ALLTYPES_NAME' ]))
58+ except Exception as err :
59+ HTTPErrorHandler (err )
60+
61+ try :
62+ print (datalogger .log_items .add_log_item (server , log_group , [log_item1 , log_item2 ]))
63+ except Exception as err :
64+ HTTPErrorHandler (err )
65+
66+ try :
67+ print (datalogger .log_items .modify_log_item (server , log_group , {"datalogger.LOG_ITEM_NUMERIC_ID" : "1" } ,log_item1 ['common.ALLTYPES_NAME' ], force = True ))
68+ except Exception as err :
69+ HTTPErrorHandler (err )
70+
71+ try :
72+ print (datalogger .log_items .modify_log_item (server , log_group , {"datalogger.LOG_ITEM_NUMERIC_ID" : "0" } ,log_item1 ['common.ALLTYPES_NAME' ]))
73+ except Exception as err :
74+ HTTPErrorHandler (err )
75+
76+ # Fail due to item not identified
77+ try :
78+ print (datalogger .log_items .modify_log_item (server , log_group , {"datalogger.LOG_ITEM_NUMERIC_ID" : "0" }))
79+ except Exception as err :
80+ HTTPErrorHandler (err )
81+
82+ try :
83+ print (datalogger .log_items .modify_log_item (server , log_group , {"common.ALLTYPES_NAME" : "LogItem1" ,"datalogger.LOG_ITEM_NUMERIC_ID" : "0" }, force = True ))
84+ except Exception as err :
85+ HTTPErrorHandler (err )
86+
87+ try :
88+ print (datalogger .log_items .get_log_item (server , log_group ,log_item1 ['common.ALLTYPES_NAME' ]))
89+ except Exception as err :
90+ HTTPErrorHandler (err )
91+
92+ try :
93+ print (datalogger .log_items .get_all_log_items (server , log_group ))
94+ except Exception as err :
95+ HTTPErrorHandler (err )
96+
97+ # Execute mapping test before deleting items
98+ # Modify group to wide format
99+ try :
100+ print (datalogger .log_group .modify_log_group (server , {"datalogger.LOG_GROUP_TABLE_FORMAT" : 1 }, log_group , force = True ))
101+ except Exception as err :
102+ HTTPErrorHandler (err )
103+
104+ __mapping_test (server , log_group )
105+
106+ # Delete Items
107+ try :
108+ print (datalogger .log_items .del_log_item (server , log_group ,log_item1 ['common.ALLTYPES_NAME' ]))
109+ except Exception as err :
110+ HTTPErrorHandler (err )
111+
112+ try :
113+ print (datalogger .log_items .del_log_item (server , log_group ,log_item2 ['common.ALLTYPES_NAME' ]))
114+ except Exception as err :
115+ HTTPErrorHandler (err )
116+
117+ def __triggers_test (server , log_group ):
118+ trigger1 = {
119+ "common.ALLTYPES_NAME" : "Trigger2" ,
120+ "datalogger.TRIGGER_TYPE" : 0
121+ }
122+
123+ trigger2 = {
124+
125+ "common.ALLTYPES_NAME" : "Trigger3" ,
126+ "datalogger.TRIGGER_TYPE" : 1
127+ }
128+
129+ try :
130+ print (datalogger .triggers .add_trigger (server , log_group , trigger1 ))
131+ except Exception as err :
132+ HTTPErrorHandler (err )
133+ try :
134+ print (datalogger .triggers .del_trigger (server , log_group , trigger1 ['common.ALLTYPES_NAME' ]))
135+ except Exception as err :
136+ HTTPErrorHandler (err )
137+
138+ try :
139+ print (datalogger .triggers .add_trigger (server , log_group , [trigger1 , trigger2 ]))
140+ except Exception as err :
141+ HTTPErrorHandler (err )
142+
143+ try :
144+ print (datalogger .triggers .modify_trigger (server , log_group , {"datalogger.TRIGGER_STATIC_INTERVAL" : 1000 } ,trigger1 ['common.ALLTYPES_NAME' ], force = True ))
145+ except Exception as err :
146+ HTTPErrorHandler (err )
147+
148+ try :
149+ print (datalogger .triggers .modify_trigger (server , log_group , {"datalogger.TRIGGER_STATIC_INTERVAL" : 500 } ,trigger1 ['common.ALLTYPES_NAME' ]))
150+ except Exception as err :
151+ HTTPErrorHandler (err )
152+
153+ # Fail due to trigger not identified
154+ try :
155+ print (datalogger .triggers .modify_trigger (server , log_group , {"datalogger.TRIGGER_STATIC_INTERVAL" : 500 }))
156+ except Exception as err :
157+ HTTPErrorHandler (err )
158+
159+ try :
160+ print (datalogger .triggers .modify_trigger (server , log_group , {"common.ALLTYPES_NAME" : trigger1 ['common.ALLTYPES_NAME' ],"datalogger.TRIGGER_STATIC_INTERVAL" : 1000 }, force = True ))
161+ except Exception as err :
162+ HTTPErrorHandler (err )
163+
164+ try :
165+ print (datalogger .triggers .get_trigger (server , log_group ,trigger1 ['common.ALLTYPES_NAME' ]))
166+ except Exception as err :
167+ HTTPErrorHandler (err )
168+
169+ try :
170+ print (datalogger .triggers .get_all_triggers (server , log_group ))
171+ except Exception as err :
172+ HTTPErrorHandler (err )
173+
174+ # Delete triggers
175+ try :
176+ print (datalogger .triggers .del_trigger (server , log_group ,trigger1 ['common.ALLTYPES_NAME' ]))
177+ except Exception as err :
178+ HTTPErrorHandler (err )
179+
180+ try :
181+ print (datalogger .triggers .del_trigger (server , log_group ,trigger2 ['common.ALLTYPES_NAME' ]))
182+ except Exception as err :
183+ HTTPErrorHandler (err )
184+
185+ def __mapping_test (server , log_group ):
186+
187+ map = []
188+ try :
189+ map = datalogger .mapping .get_all_mappings (server , log_group )
190+ print (map )
191+ except Exception as err :
192+ HTTPErrorHandler (err )
193+
194+ try :
195+ print (datalogger .mapping .get_mapping (server , log_group , map [0 ]['common.ALLTYPES_NAME' ]))
196+ except Exception as err :
197+ HTTPErrorHandler (err )
198+
199+ try :
200+ print (datalogger .mapping .modify_mapping (server , log_group , {"datalogger.TABLE_ALIAS_SQL_LENGTH_QUALITY" : 10 } , map [0 ]['common.ALLTYPES_NAME' ], force = True ))
201+ except Exception as err :
202+ HTTPErrorHandler (err )
203+
204+ try :
205+ print (datalogger .mapping .modify_mapping (server , log_group , {"datalogger.TABLE_ALIAS_SQL_LENGTH_QUALITY" : 15 } , map [0 ]['common.ALLTYPES_NAME' ]))
206+ except Exception as err :
207+ HTTPErrorHandler (err )
208+
209+ # Fail due to map not identified
210+ try :
211+ print (datalogger .mapping .modify_mapping (server , log_group , {"datalogger.TABLE_ALIAS_SQL_LENGTH_QUALITY" : 1 }))
212+ except Exception as err :
213+ HTTPErrorHandler (err )
214+
215+ try :
216+ print (datalogger .mapping .modify_mapping (server , log_group , {"common.ALLTYPES_NAME" : map [0 ]['common.ALLTYPES_NAME' ],"datalogger.TABLE_ALIAS_SQL_LENGTH_QUALITY" : 0 }, force = True ))
217+ except Exception as err :
218+ HTTPErrorHandler (err )
219+
41220def datalogger_test (server ):
42- log_group_data = {
221+ log_group_data1 = {
43222 "common.ALLTYPES_NAME" : log_group_name ,
44223 "common.ALLTYPES_DESCRIPTION" : "" ,
45224 "datalogger.LOG_GROUP_ENABLED" : False ,
@@ -68,21 +247,113 @@ def datalogger_test(server):
68247 "datalogger.LOG_GROUP_REGENERATE_ALIAS_TABLE_ON_TABLE_NAME_CHANGE" : False ,
69248 "datalogger.LOG_GROUP_REGENERATE_ALIAS_TABLE_ON_TABLE_SELECTION_CHANGE" : False
70249 }
250+ log_group_data2 = {
251+ "common.ALLTYPES_NAME" : log_group_name + '1' ,
252+ "common.ALLTYPES_DESCRIPTION" : "" ,
253+ "datalogger.LOG_GROUP_ENABLED" : False ,
254+ "datalogger.LOG_GROUP_UPDATE_RATE_MSEC" : 100 ,
255+ "datalogger.LOG_GROUP_UPDATE_RATE_UNITS" : 0 ,
256+ "datalogger.LOG_GROUP_MAP_NUMERIC_ID_TO_VARCHAR" : False ,
257+ "datalogger.LOG_GROUP_USE_LOCAL_TIME_FOR_TIMESTAMP_INSERTS" : True ,
258+ "datalogger.LOG_GROUP_STORE_AND_FORWARD_ENABLED" : False ,
259+ "datalogger.LOG_GROUP_STORE_AND_FORWARD_STORAGE_DIRECTORY" : "C:\\ ProgramData\\ PTC\\ ThingWorx Kepware Server\\ V6\\ DataLogger" ,
260+ "datalogger.LOG_GROUP_STORE_AND_FORWARD_MAX_STORAGE_SIZE" : 10 ,
261+ "datalogger.LOG_GROUP_MAX_ROW_BUFFER_SIZE" : 1000 ,
262+ "datalogger.LOG_GROUP_DSN" : "" ,
263+ "datalogger.LOG_GROUP_DSN_USERNAME" : "" ,
264+ "datalogger.LOG_GROUP_DSN_PASSWORD" : "" ,
265+ "datalogger.LOG_GROUP_DSN_LOGIN_TIMEOUT" : 10 ,
266+ "datalogger.LOG_GROUP_DSN_QUERY_TIMEOUT" : 15 ,
267+ "datalogger.LOG_GROUP_TABLE_SELECTION" : 0 ,
268+ "datalogger.LOG_GROUP_TABLE_NAME" : "" ,
269+ "datalogger.LOG_GROUP_TABLE_FORMAT" : 0 ,
270+ "datalogger.LOG_GROUP_BATCH_ID_ITEM" : "" ,
271+ "datalogger.LOG_GROUP_BATCH_ID_ITEM_TYPE" : "Default" ,
272+ "datalogger.LOG_GROUP_BATCH_ID_UPDATE_RATE" : 1000 ,
273+ "datalogger.LOG_GROUP_BATCH_ID_UPDATE_RATE_UNITS" : 0 ,
274+ "datalogger.LOG_GROUP_REGENERATE_ALIAS_TABLE_ON_DSN_CHANGE" : True ,
275+ "datalogger.LOG_GROUP_REGENERATE_ALIAS_TABLE_ON_BATCH_ID_CHANGE" : True ,
276+ "datalogger.LOG_GROUP_REGENERATE_ALIAS_TABLE_ON_TABLE_NAME_CHANGE" : False ,
277+ "datalogger.LOG_GROUP_REGENERATE_ALIAS_TABLE_ON_TABLE_SELECTION_CHANGE" : False
278+ }
71279
72280 try :
73- print (datalogger .log_group .add_log_group (server , log_group_data ))
281+ print (datalogger .log_group .add_log_group (server , log_group_data1 ))
282+ except Exception as err :
283+ HTTPErrorHandler (err )
284+
285+ try :
286+ print (datalogger .log_group .enable_log_group (server ,log_group_name ))
287+ except Exception as err :
288+ HTTPErrorHandler (err )
289+
290+ try :
291+ print (datalogger .log_group .disable_log_group (server ,log_group_name ))
292+ except Exception as err :
293+ HTTPErrorHandler (err )
294+
295+ try :
296+ print (datalogger .log_group .del_log_group (server , log_group_name ))
297+ except Exception as err :
298+ HTTPErrorHandler (err )
299+
300+ try :
301+ print (datalogger .log_group .add_log_group (server , [log_group_data1 , log_group_data2 ]))
302+ except Exception as err :
303+ HTTPErrorHandler (err )
304+
305+ try :
306+ print (datalogger .log_group .modify_log_group (server , {"datalogger.LOG_GROUP_USE_LOCAL_TIME_FOR_TIMESTAMP_INSERTS" : False },log_group_data1 ['common.ALLTYPES_NAME' ], force = True ))
307+ except Exception as err :
308+ HTTPErrorHandler (err )
309+
310+ try :
311+ print (datalogger .log_group .modify_log_group (server ,{"datalogger.LOG_GROUP_USE_LOCAL_TIME_FOR_TIMESTAMP_INSERTS" : True },log_group_data1 ['common.ALLTYPES_NAME' ]))
312+ except Exception as err :
313+ HTTPErrorHandler (err )
314+
315+ # Fail due to no log_group name provided
316+ try :
317+ print (datalogger .log_group .modify_log_group (server ,{"datalogger.LOG_GROUP_USE_LOCAL_TIME_FOR_TIMESTAMP_INSERTS" : True }))
318+ except Exception as err :
319+ HTTPErrorHandler (err )
320+
321+ try :
322+ print (datalogger .log_group .modify_log_group (server ,{"common.ALLTYPES_NAME" : log_group_name ,"datalogger.LOG_GROUP_USE_LOCAL_TIME_FOR_TIMESTAMP_INSERTS" : True }))
74323 except Exception as err :
75324 HTTPErrorHandler (err )
76325
77326 try :
78327 print (datalogger .log_group .get_log_group (server , log_group_name ))
79328 except Exception as err :
80329 HTTPErrorHandler (err )
330+
331+ try :
332+ print (datalogger .log_group .get_all_log_groups (server ))
333+ except Exception as err :
334+ HTTPErrorHandler (err )
335+
336+ # Execute Log Items testing
337+ __log_items_test (server , log_group_name )
338+
339+ # Execute Triggers testing
340+ __triggers_test (server , log_group_name )
341+
342+ # Execute Services
343+ try :
344+ print (datalogger .log_group .reset_column_mapping_service (server ,log_group_name ))
345+ except Exception as err :
346+ HTTPErrorHandler (err )
81347
82348 try :
83349 print (datalogger .log_group .del_log_group (server , log_group_name ))
84350 except Exception as err :
85351 HTTPErrorHandler (err )
352+
353+ try :
354+ print (datalogger .log_group .del_log_group (server , log_group_data2 ['common.ALLTYPES_NAME' ]))
355+ except Exception as err :
356+ HTTPErrorHandler (err )
86357
87358if __name__ == "__main__" :
88359 time_start = time .perf_counter ()
0 commit comments