You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

55 lines
1.6 KiB

import pytest, requests
import datetime
from utils import Collection
from typing import Generator
random_host = "http://localhost:800"
@pytest.fixture
def random_numbers(demo_db) -> Generator[Collection, None, None]:
collection = Collection(demo_db, "random_numbers")
yield collection
collection.drop()
def test_random_insert(random_numbers):
requests.put(
url="{0}/random".format(random_host),
data={"upper": 100, "lower": 10},
).json()
response = random_numbers.get(dict())
assert len(response) == 1
assert response[0]["_id"] == "lasts"
items = response[0]["items"]
assert len(items) == 1
first_item = items[0]
assert isinstance(first_item["date"], datetime.datetime)
assert 10 < int(first_item["value"]) < 100
def test_random_generator():
response = requests.get(
url="{0}/random?lower=10&upper=100".format(random_host)
).json()
assert 10 < int(response) < 100
def test_last_number_list(random_numbers):
random_numbers.upsert(
"lasts",
{
"items": [
{"date": datetime.datetime(2021, 3, 1, 0, 0, 000000), "value": 10},
{"date": datetime.datetime(2021, 3, 2, 0, 0, 000000), "value": 11},
{"date": datetime.datetime(2021, 3, 3, 0, 0, 000000), "value": 12},
{"date": datetime.datetime(2021, 3, 4, 0, 0, 000000), "value": 13},
{"date": datetime.datetime(2021, 3, 5, 0, 0, 000000), "value": 14},
]
},
)
response = requests.get(url="{0}/random-list".format(random_host)).json()
assert response == [10, 11, 12, 13, 14]