Skip to content

Commit 3c16b75

Browse files
committed
added test for projectsave/load services
1 parent 581b36c commit 3c16b75

File tree

1 file changed

+102
-3
lines changed

1 file changed

+102
-3
lines changed

tests/server_connection_test.py

Lines changed: 102 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,40 @@
2424
rserver_agent_name = 'REST Server'
2525
twx_agent_name = 'Thingworx'
2626
iot_item_name ="System__Date"
27+
WINFILENAME = 'test\\project.opf'
28+
WINFILENAMEENCRYPT = 'test\\project.sopf'
29+
WINFILEPATH = 'C:\\ProgramData\\PTC\\ThingWorx Kepware Server\\V6\\'
30+
LINUXFILENAME = 'project.lpf'
31+
LINUXFILENAMEENCRYPT = 'project.slpf'
32+
LINUXFILEPATH = 'C:\\DockerMounts\\tke1_5\\user_data\\'
33+
FILEPASSWORD = 'Password'
34+
2735

2836
def initialize(server):
2937
pass
3038

3139
def complete(server):
40+
if server_type == 'TKE':
41+
file = LINUXFILENAME
42+
file_encrypt = LINUXFILENAMEENCRYPT
43+
filepath = LINUXFILEPATH
44+
else:
45+
file = WINFILENAME
46+
file_encrypt = WINFILENAMEENCRYPT
47+
filepath = WINFILEPATH
48+
files = ['{}{}'.format(filepath, file), '{}{}'.format(filepath, file_encrypt)]
49+
for x in files:
50+
if os.path.exists(x):
51+
os.remove(x)
52+
else:
53+
print("The file does not exist")
3254
pass
3355

3456
@pytest.fixture(scope="module")
35-
def server(kepware_server: kepconfig.connection.server):
36-
server = kepware_server
57+
def server(kepware_server: list[kepconfig.connection.server, str]):
58+
server = kepware_server[0]
59+
global server_type
60+
server_type = kepware_server[1]
3761

3862
# Initialize any configuration before testing in module
3963
initialize(server)
@@ -43,7 +67,7 @@ def server(kepware_server: kepconfig.connection.server):
4367
complete(server)
4468

4569
def test_connection_params(server: kepconfig.connection.server):
46-
70+
current = [server.SSL_trust_all_certs,server.SSL_ignore_hostname]
4771
server.SSL_trust_all_certs = True
4872
assert server.SSL_trust_all_certs == True
4973
server.SSL_ignore_hostname = True
@@ -54,6 +78,10 @@ def test_connection_params(server: kepconfig.connection.server):
5478
server.SSL_ignore_hostname = False
5579
assert server.SSL_ignore_hostname == False
5680

81+
server.SSL_trust_all_certs = current[0]
82+
server.SSL_ignore_hostname = current[1]
83+
84+
5785
def test_reinitialize_service_status(server: kepconfig.connection.server):
5886
job = server.reinitialize()
5987
assert type(job) == kepconfig.connection.KepServiceResponse
@@ -87,3 +115,74 @@ def test_event_log(server: kepconfig.connection.server):
87115
assert type(server.get_event_log(25, None, None)) == list
88116

89117
assert type(server.get_event_log(None, datetime.datetime.fromisoformat('2022-02-21T14:23:23.000'), datetime.datetime.utcnow())) == list
118+
119+
def test_projectsave_service(server: kepconfig.connection.server):
120+
if server_type == 'TKE':
121+
file = LINUXFILENAME
122+
file_encrypt = LINUXFILENAMEENCRYPT
123+
filepath = LINUXFILEPATH
124+
else:
125+
file = WINFILENAME
126+
file_encrypt = WINFILENAMEENCRYPT
127+
filepath = WINFILEPATH
128+
129+
# Save non-encrypted file
130+
job = server.save_project(file, None, 60)
131+
assert type(job) == kepconfig.connection.KepServiceResponse
132+
time.sleep(1)
133+
status = server.service_status(job)
134+
135+
# Wait for service to be completed
136+
while True:
137+
time.sleep(1)
138+
status = server.service_status(job)
139+
if (status.complete == True): break
140+
assert type(status) == kepconfig.connection.KepServiceStatus
141+
142+
# Save encrypted file
143+
job = server.save_project(file_encrypt, FILEPASSWORD, 60)
144+
assert type(job) == kepconfig.connection.KepServiceResponse
145+
time.sleep(1)
146+
status = server.service_status(job)
147+
148+
# Wait for service to be completed
149+
while True:
150+
time.sleep(1)
151+
status = server.service_status(job)
152+
if (status.complete == True): break
153+
assert type(status) == kepconfig.connection.KepServiceStatus
154+
155+
def test_projectload_service(server: kepconfig.connection.server):
156+
157+
if server_type == 'TKE':
158+
file = LINUXFILENAME
159+
file_encrypt = LINUXFILENAMEENCRYPT
160+
filepath = ''
161+
else:
162+
file = WINFILENAME
163+
file_encrypt = WINFILENAMEENCRYPT
164+
filepath = WINFILEPATH
165+
166+
# Load non-encrypted file
167+
job = server.load_project('{}{}'.format(filepath, file), None, 60)
168+
assert type(job) == kepconfig.connection.KepServiceResponse
169+
170+
# Wait for service to be completed
171+
while True:
172+
time.sleep(1)
173+
status = server.service_status(job)
174+
if (status.complete == True): break
175+
assert type(status) == kepconfig.connection.KepServiceStatus
176+
177+
# Load encrypted file
178+
job = server.load_project('{}{}'.format(filepath, file_encrypt), FILEPASSWORD, 60)
179+
assert type(job) == kepconfig.connection.KepServiceResponse
180+
time.sleep(1)
181+
status = server.service_status(job)
182+
183+
# Wait for service to be completed
184+
while True:
185+
time.sleep(1)
186+
status = server.service_status(job)
187+
if (status.complete == True): break
188+
assert type(status) == kepconfig.connection.KepServiceStatus

0 commit comments

Comments
 (0)