22 lines
1.1 KiB
Python
22 lines
1.1 KiB
Python
import json
|
|
import sys
|
|
from pathlib import Path
|
|
stage = Path('/www/server/xingyu-im/releases/avatars-20260831-180014')
|
|
backup = Path('/www/backup/xingyu-avatars-20260831-180014')
|
|
sys.path.insert(0, str(stage))
|
|
import baota_publish_avatars as release
|
|
result = json.loads((backup / 'result.json').read_text())
|
|
assert release.digest(release.BT/'xingyu-api') == result['backendSha256']
|
|
assert release.running(result['backendSha256']) == result['runningPids']
|
|
assert str((release.WEB/'app').resolve()) == result['h5']
|
|
assert str((release.WEB/'admin').resolve()) == result['adminUnchanged']
|
|
assert backup.stat().st_mode & 0o777 == 0o700
|
|
assert (backup/'im.sql.gz').stat().st_mode & 0o777 == 0o600
|
|
conn, _ = release.database(release.env_values())
|
|
try:
|
|
assert release.marker(conn) == result['before']
|
|
result['verificationCounts'] = {table:release.query(conn,'SELECT COUNT(*) FROM '+table)[0][0] for table in ['users','user_profiles','media_assets','admin_users','im_messages','schema_migrations']}
|
|
result['verifiedRunningBinary'] = True
|
|
print(json.dumps(result))
|
|
finally: conn.close()
|