72 lines
2.3 KiB
Python
72 lines
2.3 KiB
Python
import pytest
|
|
from unittest.mock import Mock, patch
|
|
from flask import Request
|
|
import json
|
|
|
|
|
|
class TestRequest:
|
|
"""Request handling tests"""
|
|
|
|
def test_get_json_data_valid(self):
|
|
"""Test getting valid JSON data from request"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.get_json.return_value = {"key": "value"}
|
|
|
|
result = mock_request.get_json()
|
|
assert result == {"key": "value"}
|
|
|
|
def test_get_json_data_empty(self):
|
|
"""Test getting empty JSON data from request"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.get_json.return_value = {}
|
|
|
|
result = mock_request.get_json()
|
|
assert result == {}
|
|
|
|
def test_get_json_data_none(self):
|
|
"""Test getting None when no JSON data"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.get_json.return_value = None
|
|
|
|
result = mock_request.get_json()
|
|
assert result is None
|
|
|
|
def test_request_headers(self):
|
|
"""Test accessing request headers"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.headers = {"Content-Type": "application/json"}
|
|
|
|
assert mock_request.headers["Content-Type"] == "application/json"
|
|
|
|
def test_request_args(self):
|
|
"""Test accessing URL query parameters"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.args = {"param1": "value1", "param2": "value2"}
|
|
|
|
assert mock_request.args["param1"] == "value1"
|
|
assert mock_request.args["param2"] == "value2"
|
|
|
|
def test_request_method(self):
|
|
"""Test request HTTP methods"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.method = "POST"
|
|
|
|
assert mock_request.method == "POST"
|
|
|
|
def test_request_data_raw(self):
|
|
"""Test accessing raw request data"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.data = b'{"test": "data"}'
|
|
|
|
assert mock_request.data == b'{"test": "data"}'
|
|
data = json.loads(mock_request.data)
|
|
assert data["test"] == "data"
|
|
|
|
def test_request_form_data(self):
|
|
"""Test accessing form data"""
|
|
mock_request = Mock(spec=Request)
|
|
mock_request.form = {"username": "testuser", "password": "testpass"}
|
|
|
|
assert mock_request.form["username"] == "testuser"
|
|
assert mock_request.form["password"] == "testpass"
|