rapt-cloud-api/tests/test_hydrometer.py

84 lines
2.7 KiB
Python

import pytest
import json
import responses
from rapt.client import Client
from rapt.hydrometer import Hydrometer
@pytest.fixture
def client():
yield Client("test", "test")
@responses.activate
def test_get_hydrometers(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.get("https://api.rapt.io/api/hydrometers/gethydrometers", json=json_reader("./tests/json/get_hydrometers_response.json"))
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometers()
assert hydros is not None
assert len(hydros) == 1
@responses.activate
def test_get_hydrometers_500(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.add(
responses.GET,
"https://api.rapt.io/api/hydrometers/gethydrometers",
status=500,
)
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometers()
assert hydros is None
@responses.activate
def test_get_hydrometer(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.get("https://api.rapt.io/api/hydrometers/gethydrometer", json=json_reader("./tests/json/get_hydrometer_response.json"))
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometer("")
assert hydros is not None
@responses.activate
def test_get_hydrometer_500(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.add(
responses.GET,
"https://api.rapt.io/api/hydrometers/gethydrometer",
status=500,
)
hydrometer = Hydrometer(client)
hydros = hydrometer.get_hydrometer("")
assert hydros is None
@responses.activate
def test_get_telemetry(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.get("https://api.rapt.io/api/hydrometers/gettelemetry", json=json_reader("./tests/json/get_hydrometer_telemetry_response.json"))
hydrometer = Hydrometer(client)
telemetry = hydrometer.get_telemetry("", "", "", "")
assert telemetry is not None
@responses.activate
def test_get_telemetry_500(client):
responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json"))
responses.add(
responses.GET,
"https://api.rapt.io/api/hydrometers/gettelemetry",
status=500,
)
hydrometer = Hydrometer(client)
telemetry = hydrometer.get_telemetry("", "", "", "")
assert telemetry is None
def json_reader(path):
with open(path) as f:
return json.load(f)