22 lines
1.1 KiB
Python
22 lines
1.1 KiB
Python
from pathlib import Path
|
|
import http.client, hashlib, json
|
|
release = Path('C:/kefu/deploy/knowledge-v5-search-20260916')
|
|
manifest = json.loads((release/'manifest.json').read_text(encoding='utf-8'))
|
|
asset = next(row for row in manifest if '/dist/js/center-' in row['path'] and row['path'].endswith('.js'))
|
|
asset_path = '/' + asset['path'].split('/dist/',1)[1]
|
|
checks = [('/',200),('/api/health',200),('/api/knowledge/review-tasks',401),(asset_path,200)]
|
|
statuses = {}
|
|
for path, expected in checks:
|
|
connection = http.client.HTTPConnection('192.168.110.111',8369,timeout=20,source_address=('192.168.123.43',0))
|
|
try:
|
|
connection.request('GET',path)
|
|
response=connection.getresponse();data=response.read()
|
|
assert response.status==expected,(path,response.status)
|
|
if path==asset_path:
|
|
assert hashlib.sha256(data).hexdigest()==asset['sha256']
|
|
statuses[path]=response.status
|
|
finally:
|
|
connection.close()
|
|
(release/'lan-verification.json').write_text(json.dumps(statuses,indent=2),encoding='utf-8')
|
|
print(json.dumps(statuses))
|