47 lines
1.3 KiB
Python
47 lines
1.3 KiB
Python
import os
|
|
import tempfile
|
|
import unittest
|
|
from pathlib import Path
|
|
|
|
import scripts.tesla as tesla
|
|
|
|
|
|
class MileageDbTests(unittest.TestCase):
|
|
def test_init_and_insert(self):
|
|
with tempfile.TemporaryDirectory() as td:
|
|
db = Path(td) / "mileage.sqlite"
|
|
tesla.mileage_init_db(db)
|
|
|
|
conn = tesla._db_connect(db)
|
|
try:
|
|
tesla.mileage_insert_point(
|
|
conn,
|
|
ts_utc=1700000000,
|
|
vehicle_id="123",
|
|
vehicle_name="Car",
|
|
odometer_mi=100.0,
|
|
state="online",
|
|
source="test",
|
|
note=None,
|
|
)
|
|
conn.commit()
|
|
|
|
last = tesla.mileage_last_success_ts(conn, "123")
|
|
self.assertEqual(last, 1700000000)
|
|
finally:
|
|
conn.close()
|
|
|
|
def test_resolve_db_path_env(self):
|
|
with tempfile.TemporaryDirectory() as td:
|
|
p = str(Path(td) / "x.sqlite")
|
|
os.environ["MY_TESLA_MILEAGE_DB"] = p
|
|
try:
|
|
out = tesla.resolve_mileage_db_path(None)
|
|
self.assertEqual(str(out), p)
|
|
finally:
|
|
os.environ.pop("MY_TESLA_MILEAGE_DB", None)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
unittest.main()
|