import pytest import json import responses from rapt.client import Client from rapt.fermentation_chamber import FermentationChamber @pytest.fixture def client(): yield Client("test", "test") @responses.activate def test_get_fermentation_chambers(client): responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json")) responses.get("https://api.rapt.io/api/fermentationchambers/getfermentationchambers", json=json_reader("./tests/json/get_fermentation_chambers_response.json")) fermentation_chamber = FermentationChamber(client) ferms = fermentation_chamber.get_fermentation_chambers() assert ferms is not None assert len(ferms) == 1 @responses.activate def test_get_fermentation_chambers_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/fermentationchambers/getfermentationchambers", status=500, ) fermentation_chamber = FermentationChamber(client) ferms = fermentation_chamber.get_fermentation_chambers() assert ferms is None @responses.activate def test_get_fermentation_chamber(client): responses.post("https://id.rapt.io/connect/token", json=json_reader("./tests/json/token_response.json")) responses.get("https://api.rapt.io/api/fermentationchambers/getfermentationchamber", json=json_reader("./tests/json/get_fermentation_chamber_response.json")) fermentation_chamber = FermentationChamber(client) ferms = fermentation_chamber.get_fermentation_chamber("") assert ferms is not None @responses.activate def test_get_fermentation_chamber_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/fermentationchambers/getfermentationchamber", status=500, ) fermentation_chamber = FermentationChamber(client) ferms = fermentation_chamber.get_fermentation_chamber("") assert ferms 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/fermentationchambers/gettelemetry", json=json_reader("./tests/json/get_fermentation_chamber_telemetry_response.json")) fermentation_chamber = FermentationChamber(client) telemetry = fermentation_chamber.get_telemetry("", "", "", "") assert telemetry is not None assert len(telemetry) == 1 @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/fermentationchambers/gettelemetry", status=500, ) fermentation_chamber = FermentationChamber(client) telemetry = fermentation_chamber.get_telemetry("", "", "", "") assert telemetry is None def json_reader(path): with open(path) as f: return json.load(f)