"""Tests for ows_client.py.""" from unittest.mock import MagicMock from flask import Flask from flask import g import pytest from owsrequest.ows_client import request_context_getter from owsrequest.ows_client import RequestContext @pytest.fixture(scope='function') def app(): """Create a Flask app.""" app = Flask(__name__) with app.app_context(): yield app def test_request_context_create_from_request_context(app): """Test that RequestContext is created from FlaskOwsRequestContext.""" mock_request_context = MagicMock() mock_request_context.authorization = 'Bearer token' mock_request_context.jwt_identity_id = 'identity-123' mock_request_context.profile_id = 42 mock_request_context.profile_type = 'user' result = RequestContext.create_from_request_context(mock_request_context) assert result.authorization == 'Bearer token' assert result.identity_id == 'identity-123' assert result.profile_id == 42 assert result.profile_type == 'user' def test_request_context_getter_with_context(app): """Test that RequestContext is created from g.""" mock_request_context = MagicMock() mock_request_context.authorization = 'Bearer token' mock_request_context.jwt_identity_id = 'identity-123' mock_request_context.profile_id = 1234 mock_request_context.profile_type = 'label' g.request_context = mock_request_context result = request_context_getter() assert result assert result.authorization == 'Bearer token' assert result.identity_id == 'identity-123' assert result.profile_id == 1234 assert result.profile_type == 'label' def test_request_context_getter_without_context(app): """Test behavior when g.request_context is None.""" g.request_context = None result = request_context_getter() assert not result