diff --git a/srv/energyDB.py b/srv/energyDB.py index 3e036fb..277d478 100644 --- a/srv/energyDB.py +++ b/srv/energyDB.py @@ -6,6 +6,12 @@ import databases import sqlalchemy from sqlite3 import OperationalError +API_VERSION_MAJOR = 1 +API_VERSION_MINOR = 0 + +REST_API_ROOT = f"/energy/v{API_VERSION_MAJOR}/" +REST_API_VERSION = REST_API_ROOT + ".0" + DATABASE_URL = "sqlite:///./energyDB.sqlite" # DATABASE_URL = "sqlite://" db = databases.Database(DATABASE_URL) @@ -57,7 +63,7 @@ async def shutdown(): # if token != fake_secret_token: # raise HTTPException(status_code=400, detail="Invalid X-Token header") -@app.put("/energy/bulkData") +@app.put(REST_API_ROOT + "bulkData") async def putBulkEnergyData(bulkData: BulkData): valuesToInsert = [] for channelData in bulkData.bulk: @@ -72,7 +78,7 @@ async def putBulkEnergyData(bulkData: BulkData): "valuesToInsert": valuesToInsert } -@app.get("/energy/bulkData", response_model = BulkData) +@app.get(REST_API_ROOT + "bulkData", response_model = BulkData) async def getBulkEnergyData(bulkDataRequest: BulkDataRequest): bulkData = [] for ch in bulkDataRequest.channel_ids: diff --git a/test/test_EnergyDB.py b/test/test_EnergyDB.py index 832477e..39fd002 100644 --- a/test/test_EnergyDB.py +++ b/test/test_EnergyDB.py @@ -8,7 +8,7 @@ import urllib.parse from srv import energyDB class Test_energyDb: - + restApiRoot = "/energy/v1/" bulkTestData = [ { "channel_id": 1, @@ -47,7 +47,9 @@ class Test_energyDb: def _test_bulkData_put(self): # response = self.client.put("/energy/bulkData", json=self.bulkTestData); - response = self.client.put("/energy/bulkData", json={"bulk": self.bulkTestData}) + response = self.client.put( + self.restApiRoot + "bulkData", + json={"bulk": self.bulkTestData}) # print(f"dir(response): {dir(response)}") # print(f"dir(response.request): {dir(response.request)}") # print("---- request") @@ -68,7 +70,7 @@ class Test_energyDb: fromTimestamp = datetime.fromisoformat("2020-12-11T12:30:00") tillTimestamp = datetime.fromisoformat("2020-12-11T12:30:59") response = self.client.get( - "/energy/bulkData", + self.restApiRoot + "bulkData", json = { "channel_ids": [1, 2, 3], "fromTime": fromTimestamp.isoformat(), @@ -100,7 +102,7 @@ class Test_energyDb: print(f"energyData: {energyData}") # response = self.client.put("/energies/1", json=energyData) #, headers={"X-Token": "coneofsilence"}) response = self.client.put( - "/energy/2", + self.restApiRoot + "2", # params=energyData, json=energyData) #, headers={"X-Token": "coneofsilence"}) # print(f"dir(response): {dir(response)}") @@ -120,7 +122,7 @@ class Test_energyDb: @pytest.mark.skip(reason="Ignore me temporarily") def test_get_energy(self): - response = self.client.get("/energy/1") + response = self.client.get(self.restApiRoot + "1") # print(f"dir(response): {dir(response)}") # print(f"dir(response.request): {dir(response.request)}") # print("---- request")