Skip to content

Commit c277ecc

Browse files
committed
MPT-14938 Add audit records e2e
1 parent f47c482 commit c277ecc

File tree

4 files changed

+125
-0
lines changed

4 files changed

+125
-0
lines changed

e2e_config.test.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"accounts.seller.id": "SEL-7310-3075",
1212
"accounts.user.id": "USR-9673-3314",
1313
"accounts.user_group.id": "UGR-6822-0561",
14+
"audit.record.id": "AUD-3748-4760-1006-3938",
1415
"billing.journal.id": "BJO-6562-0928",
1516
"catalog.authorization.id": "AUT-9288-6146",
1617
"catalog.listing.id": "LST-5489-0806",
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import pytest
2+
3+
4+
from typing import Any
5+
6+
7+
@pytest.fixture
8+
def record_data(account_id: str) -> dict[str, Any]:
9+
return {
10+
"event": "extensions.e2e.test",
11+
"object": {
12+
"id": account_id,
13+
"name": "e2e test account"
14+
},
15+
"details": "e2e test details",
16+
"summary": "e2e test summary",
17+
"actor": {
18+
"type": "system",
19+
"id": "system",
20+
},
21+
"payload": {
22+
"key": "value",
23+
},
24+
}
25+
26+
27+
@pytest.fixture
28+
def audit_record_id(e2e_config):
29+
return e2e_config["audit.record.id"]
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import pytest
2+
3+
from typing import Any
4+
5+
from mpt_api_client import AsyncMPTClient
6+
from mpt_api_client.exceptions import MPTAPIError
7+
from mpt_api_client.resources.audit.records import Record
8+
from mpt_api_client.rql.query_builder import RQLQuery
9+
10+
pytestmark = [pytest.mark.flaky]
11+
12+
13+
@pytest.fixture
14+
async def created_record(
15+
async_mpt_vendor: AsyncMPTClient, record_data: dict[str, Any]
16+
) -> Record:
17+
service = async_mpt_vendor.audit.records
18+
record = await service.create(record_data)
19+
return record
20+
21+
22+
@pytest.mark.asyncio
23+
async def test_create_record(created_record: Record, record_data: dict[str, Any]) -> None:
24+
assert created_record.event == record_data["event"]
25+
assert created_record.object.id == record_data["object"]["id"]
26+
27+
28+
@pytest.mark.asyncio
29+
async def test_get_record(async_mpt_vendor: AsyncMPTClient, audit_record_id: str) -> None:
30+
service = async_mpt_vendor.audit.records
31+
result = await service.get(audit_record_id)
32+
33+
assert result.id == audit_record_id
34+
35+
36+
@pytest.mark.asyncio
37+
async def test_iterate_records(async_mpt_vendor: AsyncMPTClient, product_id: str) -> None:
38+
service = async_mpt_vendor.audit.records.filter(RQLQuery(object__id=product_id))
39+
records = [record async for record in service.iterate()]
40+
41+
result = records[0]
42+
43+
assert result.object.id == product_id
44+
45+
46+
@pytest.mark.asyncio
47+
async def test_get_record_not_found(async_mpt_vendor: AsyncMPTClient) -> None:
48+
service = async_mpt_vendor.audit.records
49+
50+
with pytest.raises(MPTAPIError):
51+
await service.get("REC-000-000-000")
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import pytest
2+
3+
from typing import Any
4+
5+
from mpt_api_client import MPTClient
6+
from mpt_api_client.exceptions import MPTAPIError
7+
from mpt_api_client.resources.audit.records import Record
8+
from mpt_api_client.rql.query_builder import RQLQuery
9+
10+
pytestmark = [pytest.mark.flaky]
11+
12+
13+
@pytest.fixture
14+
def created_record(mpt_vendor: MPTClient, record_data: dict[str, Any]) -> Record:
15+
service = mpt_vendor.audit.records
16+
record = service.create(record_data)
17+
return record
18+
19+
20+
def test_create_record(created_record: Record, record_data: dict[str, Any]) -> None:
21+
assert created_record.event == record_data["event"]
22+
assert created_record.object.id == record_data["object"]["id"]
23+
24+
25+
def test_get_record(mpt_vendor: MPTClient, audit_record_id) -> None:
26+
service = mpt_vendor.audit.records
27+
result = service.get(audit_record_id)
28+
29+
assert result.id == audit_record_id
30+
31+
32+
def test_iterate_records(mpt_vendor: MPTClient, product_id) -> None:
33+
service = mpt_vendor.audit.records.filter(RQLQuery(object__id=product_id))
34+
records = list(service.iterate())
35+
36+
result = records[0]
37+
38+
assert result.object.id == product_id
39+
40+
def test_get_record_not_found(mpt_vendor: MPTClient) -> None:
41+
service = mpt_vendor.audit.records
42+
43+
with pytest.raises(MPTAPIError):
44+
service.get("REC-000-000-000")

0 commit comments

Comments
 (0)