feat(apim-apps): first commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import pytest
|
||||
from unittest.mock import patch, MagicMock
|
||||
from apim_apps import AxwayClient, _AppendOnlySession, EnvConfig
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def client():
|
||||
env = EnvConfig(name="TEST", url="https://test.example.com:8075", username="u", password="p")
|
||||
return AxwayClient(env)
|
||||
|
||||
|
||||
def test_session_is_append_only(client):
|
||||
assert isinstance(client.session, _AppendOnlySession)
|
||||
|
||||
|
||||
def test_delete_raises_runtime_error(client):
|
||||
with pytest.raises(RuntimeError, match="DELETE is not allowed"):
|
||||
client.session.delete("https://test.example.com:8075/api/portal/v1.4/applications/123")
|
||||
|
||||
|
||||
def test_get_is_allowed(client):
|
||||
with patch("requests.Session.request") as mock_req:
|
||||
mock_req.return_value = MagicMock(status_code=200)
|
||||
client.session.get("https://test.example.com")
|
||||
mock_req.assert_called_once()
|
||||
assert mock_req.call_args[0][0].upper() == "GET"
|
||||
|
||||
|
||||
def test_post_is_allowed(client):
|
||||
with patch("requests.Session.request") as mock_req:
|
||||
mock_req.return_value = MagicMock(status_code=201)
|
||||
client.session.post("https://test.example.com", json={})
|
||||
mock_req.assert_called_once()
|
||||
assert mock_req.call_args[0][0].upper() == "POST"
|
||||
|
||||
|
||||
def test_no_delete_method_on_client():
|
||||
"""AxwayClient must not expose any delete_* method."""
|
||||
delete_methods = [m for m in dir(AxwayClient) if m.startswith("delete")]
|
||||
assert delete_methods == [], f"Unexpected delete methods found: {delete_methods}"
|
||||
Reference in New Issue
Block a user