mirror of
https://github.com/bckelley/tconnectsync.git
synced 2026-08-24 03:34:12 -05:00
Since the 2.0 migration to Tandem Source, the live sync path (api.tandemsource + sync/tandemsource/*) no longer references the legacy t:connect APIs. This removes that now-unreachable code. Removed modules: - api/controliq.py, api/ws2.py, api/android.py, api/webui.py (the legacy controliq / tconnectws2 / android / webui clients) - process.py (old process_time_range; already broken since it imported sync submodules that no longer exist) - parser/ciq_therapy_events.py, parser/tconnect.py (TConnectEntry) - domain/therapy_event.py, domain/bolus.py, domain/device_settings.py, domain/utility.py Trimmed dead wiring from live modules: - api/__init__.py: dropped the controliq/ws2/android/webui properties, keeping only the tandemsource accessor - check.py: removed the unused TConnectEntry import - parser/nightscout.py: removed the unused legacy profile_store() plus the now-orphaned tandem_to_ns_time / tandem_to_ns_time_seconds helpers and InvalidTimeException (the live path uses tandemsource_profile_store) Tests: removed suites covering the deleted modules; pared tests/api/fake.py down to the TConnectApi fake still used by the tandemsource tests. README "Tandem APIs" sections updated to reflect the single Tandem Source API. Full test suite passes (48 passed, 1 skipped). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LQNn3mBG1kXTAdQb9c2jfW
191 lines
5.8 KiB
Python
191 lines
5.8 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import unittest
|
|
from tconnectsync.parser.nightscout import NightscoutEntry, InvalidBolusTypeException
|
|
|
|
class TestNightscoutEntry(unittest.TestCase):
|
|
maxDiff = None
|
|
def test_basal(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.basal(
|
|
value=1.05,
|
|
duration_mins=30,
|
|
created_at="2021-03-16 00:25:21-04:00"),
|
|
{
|
|
"eventType": "Temp Basal",
|
|
"reason": "",
|
|
"duration": 30,
|
|
"absolute": 1.05,
|
|
"rate": 1.05,
|
|
"created_at": "2021-03-16 00:25:21-04:00",
|
|
"carbs": None,
|
|
"insulin": None,
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
self.assertEqual(
|
|
NightscoutEntry.basal(
|
|
value=0.95,
|
|
duration_mins=5,
|
|
created_at="2021-03-16 12:25:21-04:00",
|
|
reason="Correction"),
|
|
{
|
|
"eventType": "Temp Basal",
|
|
"reason": "Correction",
|
|
"duration": 5,
|
|
"absolute": 0.95,
|
|
"rate": 0.95,
|
|
"created_at": "2021-03-16 12:25:21-04:00",
|
|
"carbs": None,
|
|
"insulin": None,
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
def test_bolus(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.bolus(
|
|
bolus=7.5,
|
|
carbs=45,
|
|
created_at="2021-03-16 00:25:21-04:00"),
|
|
{
|
|
"eventType": "Combo Bolus",
|
|
"created_at": "2021-03-16 00:25:21-04:00",
|
|
"carbs": 45,
|
|
"insulin": 7.5,
|
|
"notes": "",
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
self.assertEqual(
|
|
NightscoutEntry.bolus(
|
|
bolus=0.5,
|
|
carbs=5,
|
|
created_at="2021-03-16 12:25:21-04:00"),
|
|
{
|
|
"eventType": "Combo Bolus",
|
|
"created_at": "2021-03-16 12:25:21-04:00",
|
|
"carbs": 5,
|
|
"insulin": 0.5,
|
|
"notes": "",
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
def test_bolus_with_bg(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.bolus(
|
|
bolus=7.5,
|
|
carbs=45,
|
|
created_at="2021-03-16 00:25:21-04:00",
|
|
bg="123",
|
|
bg_type=NightscoutEntry.SENSOR),
|
|
{
|
|
"eventType": "Combo Bolus",
|
|
"created_at": "2021-03-16 00:25:21-04:00",
|
|
"carbs": 45,
|
|
"insulin": 7.5,
|
|
"notes": "",
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"glucose": "123",
|
|
"glucoseType": "Sensor",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
self.assertEqual(
|
|
NightscoutEntry.bolus(
|
|
bolus=0.5,
|
|
carbs=5,
|
|
created_at="2021-03-16 12:25:21-04:00",
|
|
bg="150",
|
|
bg_type=NightscoutEntry.FINGER),
|
|
{
|
|
"eventType": "Combo Bolus",
|
|
"created_at": "2021-03-16 12:25:21-04:00",
|
|
"carbs": 5,
|
|
"insulin": 0.5,
|
|
"notes": "",
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"glucose": "150",
|
|
"glucoseType": "Finger",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
def test_bolus_with_bg_invalid_type(self):
|
|
self.assertRaises(InvalidBolusTypeException,
|
|
NightscoutEntry.bolus,
|
|
bolus=0.5,
|
|
carbs=5,
|
|
created_at="2021-03-16 12:25:21-04:00",
|
|
bg="150",
|
|
bg_type="unknown")
|
|
|
|
def test_iob(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.iob(
|
|
iob=2.05,
|
|
created_at="2021-03-16 00:25:21-04:00"),
|
|
{
|
|
"activityType": "tconnect_iob",
|
|
"iob": 2.05,
|
|
"created_at": "2021-03-16 00:25:21-04:00",
|
|
"enteredBy": "Pump (tconnectsync)"
|
|
}
|
|
)
|
|
|
|
def test_entry(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.entry(
|
|
sgv=152,
|
|
created_at="2021-10-23 22:17:14-04:00"),
|
|
{
|
|
"type": "sgv",
|
|
"sgv": 152,
|
|
"date": 1635041834000,
|
|
"dateString": "2021-10-23T22:17:14-0400",
|
|
"device": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
def test_sitechange(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.sitechange(
|
|
created_at="2021-12-05T00:16:35.058Z",
|
|
reason="reason"),
|
|
{
|
|
"eventType": "Site Change",
|
|
"reason": "reason",
|
|
"notes": "reason",
|
|
"created_at": "2021-12-05T00:16:35.058Z",
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
def test_basalsuspension(self):
|
|
self.assertEqual(
|
|
NightscoutEntry.basalsuspension(
|
|
created_at="2021-12-05T00:16:35.058Z",
|
|
reason="reason"),
|
|
{
|
|
"eventType": "Basal Suspension",
|
|
"reason": "reason",
|
|
"notes": "reason",
|
|
"created_at": "2021-12-05T00:16:35.058Z",
|
|
"enteredBy": "Pump (tconnectsync)",
|
|
"pump_event_id": ""
|
|
}
|
|
)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main() |