1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
"""Basic tests for flume Data. This module contains unittest classes for testing different functionalities of flume."""
# Standard library imports
import unittest
# Third-party imports
from requests import Session
import requests_mock
# Local application/library-specific imports
import pyflume
from .constants import (
CONST_CLIENT_ID,
CONST_CLIENT_SECRET,
CONST_FLUME_TOKEN,
CONST_HTTP_METHOD_POST,
CONST_PASSWORD,
CONST_SCAN_INTERVAL,
CONST_TOKEN_FILE,
CONST_USER_ID,
CONST_USERNAME,
)
from .utils import load_fixture
class TestFlumeData(unittest.TestCase):
"""Test Flume Data Test."""
@requests_mock.Mocker()
def test_data(self, mock):
"""Test initialization for Flume Data.
Args:
mock: Requests mock.
"""
mock.register_uri(
CONST_HTTP_METHOD_POST,
pyflume.constants.URL_OAUTH_TOKEN,
text=load_fixture(CONST_TOKEN_FILE),
)
mock.register_uri(
CONST_HTTP_METHOD_POST,
pyflume.constants.API_QUERY_URL.format(
user_id=CONST_USER_ID,
device_id="device_id",
),
text=load_fixture("query.json"),
)
flume_auth = pyflume.FlumeAuth(
CONST_USERNAME,
CONST_PASSWORD,
CONST_CLIENT_ID,
CONST_CLIENT_SECRET,
CONST_FLUME_TOKEN,
)
flume = pyflume.FlumeData(
flume_auth,
"device_id",
"America/Los_Angeles",
CONST_SCAN_INTERVAL,
http_session=Session(),
update_on_init=False,
)
assert flume.values == {} # noqa: S101,WPS520
flume.update()
assert flume.values == { # noqa: S101
"current_interval": 14.38855184,
"today": 56.6763912,
"week_to_date": 1406.07065872,
"month_to_date": 56.6763912,
"last_60_min": 14.38855184,
"last_24_hrs": 258.9557672,
"last_30_days": 5433.56753264,
}
|