mirror of
https://github.com/N4S4/synology-api.git
synced 2025-07-22 12:08:56 +00:00

Add 2 functions to core_user.py Update README.md with new functions Add settings.json of vscode to execute tests (Python Test Explorer)
67 lines
2.5 KiB
Python
67 lines
2.5 KiB
Python
import datetime
|
|
import json
|
|
from unittest import TestCase
|
|
import unittest
|
|
from synology_api.filestation import FileStation
|
|
from synology_api.surveillancestation import SurveillanceStation
|
|
import os, pathlib
|
|
|
|
|
|
def parse_config(config_path) -> dict[str, str]:
|
|
with open(config_path, 'r') as config_file:
|
|
config_data = json.load(config_file)
|
|
return config_data
|
|
|
|
|
|
class TestSynoApi(TestCase):
|
|
config: dict[str, str]
|
|
|
|
def setUp(self):
|
|
self.config = parse_config(
|
|
os.path.realpath(
|
|
os.path.join(
|
|
pathlib.Path(__file__).parent.resolve(),
|
|
'./resources/config-test.json'
|
|
)
|
|
)
|
|
)
|
|
|
|
|
|
def test_syno_filestation_login(self):
|
|
fs = FileStation(ip_address=self.config["synology_ip"], port=self.config["synology_port"],
|
|
username=self.config["synology_user"],
|
|
password=self.config["synology_password"],
|
|
secure=bool(self.config["synology_secure"]), cert_verify=False,
|
|
dsm_version=int(self.config["dsm_version"]), debug=True,
|
|
otp_code=self.config["otp_code"])
|
|
|
|
self.assertIsNotNone(fs)
|
|
self.assertIsNotNone(fs.session)
|
|
self.assertIsNotNone(fs.session.sid)
|
|
self.assertIsNot(fs.session.sid, '')
|
|
shares_list = fs.get_list_share()
|
|
self.assertIsNotNone(shares_list)
|
|
self.assertEqual(shares_list.__len__(), 2)
|
|
|
|
def test_syno_surveillancestation_login(self):
|
|
ss = SurveillanceStation(ip_address=self.config["synology_ip"], port=self.config["synology_port"],
|
|
username=self.config["synology_user"],
|
|
password=self.config["synology_password"],
|
|
secure=bool(self.config["synology_secure"]), cert_verify=False,
|
|
dsm_version=int(self.config["dsm_version"]), debug=True,
|
|
otp_code=self.config["otp_code"])
|
|
|
|
self.assertIsNotNone(ss)
|
|
self.assertIsNotNone(ss.session)
|
|
self.assertIsNotNone(ss.session.sid)
|
|
self.assertIsNot(ss.session.sid, '')
|
|
ss_info = ss.surveillance_station_info()
|
|
self.assertIsNotNone(ss_info)
|
|
ss_info_data = ss_info['data']
|
|
self.assertIsNotNone(ss_info_data)
|
|
self.assertEqual(ss_info_data['path'], '/webman/3rdparty/SurveillanceStation/')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|