-
Notifications
You must be signed in to change notification settings - Fork 8
/
member_wallets.py
118 lines (81 loc) · 3.84 KB
/
member_wallets.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
from typing import Any, AsyncGenerator
import pytest
from app.models.tenants import CreateTenantResponse
from app.tests.util.client import get_tenant_admin_client
from app.tests.util.regression_testing import TestMode, get_or_create_tenant
from app.tests.util.tenants import (
create_issuer_and_verifier_tenant,
create_issuer_tenant,
create_tenant,
create_verifier_tenant,
delete_tenant,
)
@pytest.fixture(scope="function", params=TestMode.fixture_params)
async def alice_tenant(request) -> AsyncGenerator[CreateTenantResponse, Any]:
test_mode = request.param
async with get_tenant_admin_client() as admin_client:
if test_mode == TestMode.clean_run:
tenant = await create_tenant(admin_client, "alice")
yield tenant
await delete_tenant(admin_client, tenant.wallet_id)
elif test_mode == TestMode.regression_run:
tenant = await get_or_create_tenant(
admin_client=admin_client, name="Holder1", roles=[]
)
yield tenant
@pytest.fixture(scope="function", params=TestMode.fixture_params)
async def bob_tenant(request) -> AsyncGenerator[CreateTenantResponse, Any]:
test_mode = request.param
async with get_tenant_admin_client() as admin_client:
if test_mode == TestMode.clean_run:
tenant = await create_tenant(admin_client, "bob")
yield tenant
await delete_tenant(admin_client, tenant.wallet_id)
elif test_mode == TestMode.regression_run:
tenant = await get_or_create_tenant(
admin_client=admin_client, name="Holder2", roles=[]
)
yield tenant
@pytest.fixture(scope="module", params=TestMode.fixture_params)
async def acme_verifier(request) -> AsyncGenerator[CreateTenantResponse, Any]:
test_mode = request.param
async with get_tenant_admin_client() as admin_client:
if test_mode == TestMode.clean_run:
verifier_tenant = await create_verifier_tenant(admin_client, "acme")
yield verifier_tenant
await delete_tenant(admin_client, verifier_tenant.wallet_id)
elif test_mode == TestMode.regression_run:
verifier_tenant = await get_or_create_tenant(
admin_client=admin_client, name="Verifier", roles=["verifier"]
)
yield verifier_tenant
@pytest.fixture(scope="session", params=TestMode.fixture_params)
async def faber_issuer(request) -> AsyncGenerator[CreateTenantResponse, Any]:
test_mode = request.param
async with get_tenant_admin_client() as admin_client:
if test_mode == TestMode.clean_run:
issuer_tenant = await create_issuer_tenant(admin_client, "faber")
yield issuer_tenant
await delete_tenant(admin_client, issuer_tenant.wallet_id)
elif test_mode == TestMode.regression_run:
issuer_tenant = await get_or_create_tenant(
admin_client=admin_client, name="Issuer", roles=["issuer"]
)
yield issuer_tenant
@pytest.fixture(scope="session", params=TestMode.fixture_params)
async def meld_co_issuer_verifier(request) -> AsyncGenerator[CreateTenantResponse, Any]:
test_mode = request.param
async with get_tenant_admin_client() as admin_client:
if test_mode == TestMode.clean_run:
issuer_and_verifier_tenant = await create_issuer_and_verifier_tenant(
admin_client, "meldCo"
)
yield issuer_and_verifier_tenant
await delete_tenant(admin_client, issuer_and_verifier_tenant.wallet_id)
elif test_mode == TestMode.regression_run:
issuer_tenant = await get_or_create_tenant(
admin_client=admin_client,
name="IssuerAndVerifier",
roles=["issuer", "verifier"],
)
yield issuer_tenant