Skip to content
Snippets Groups Projects
Commit 415d4192 authored by Benjamin Bertrand's avatar Benjamin Bertrand
Browse files

Update tests for flask >= 1.0

New get_json method on test client response.
See http://flask.pocoo.org/docs/1.0/testing/#testing-json-apis
parent 6e02fd10
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -9,18 +9,10 @@ This module defines basic web tests.
:license: BSD 2-Clause, see LICENSE for more details.
"""
import json
import pytest
import re
def get(client, url):
response = client.get(url)
if response.headers["Content-Type"] == "application/json":
response.json = json.loads(response.data)
return response
def login(client, username, password):
data = {"username": username, "password": password}
return client.post("/user/login", data=data, follow_redirects=True)
......@@ -67,19 +59,19 @@ def test_protected_url(url, client):
def test_retrieve_items(logged_client, item_factory):
response = get(logged_client, "/inventory/_retrieve_items")
assert response.json["data"] == []
response = logged_client.get("/inventory/_retrieve_items")
assert response.get_json()["data"] == []
serial_numbers = ("12345", "45678")
for sn in serial_numbers:
item_factory(serial_number=sn)
response = get(logged_client, "/inventory/_retrieve_items")
items = response.json["data"]
response = logged_client.get("/inventory/_retrieve_items")
items = response.get_json()["data"]
assert set(serial_numbers) == set(item[4] for item in items)
assert len(items[0]) == 11
def test_generate_random_mac(logged_client):
response = get(logged_client, "/network/_generate_random_mac")
mac = response.json["data"]["mac"]
response = logged_client.get("/network/_generate_random_mac")
mac = response.get_json()["data"]["mac"]
assert re.match("^(?:[0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$", mac) is not None
assert mac.startswith("02:42:42")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment