84 lines
2.7 KiB
Python
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)
|