eclinical-requester 1.0.13__tar.gz → 1.0.15__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {eclinical_requester-1.0.13/src/eclinical_requester.egg-info → eclinical_requester-1.0.15}/PKG-INFO +1 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/__init__.py +1 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/call_api.py +2 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/dto/user.py +2 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/authorize.py +5 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/authorize_ediary.py +1 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15/src/eclinical_requester.egg-info}/PKG-INFO +1 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/tests/test_api_requester.py +18 -1
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/LICENSE +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/MANIFEST.in +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/README.md +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/pyproject.toml +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/setup.cfg +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/setup.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/api/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/api/auth_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/api/ecoa_auth_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/api/subject_auth_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/api/user_on_board_application_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/cross_user_user_on_board_dto.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/ecoa_onboard_request_dto.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/jwt_authentication_request.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/reset_password_email_request_dto.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/sso_token_retrieve_dto.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/subject_jwt_authentication_request.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/dto/user_on_board_dto.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/auth_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/ecoa_auth_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/impl/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/impl/system_env_service_impl.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/impl/user_on_board_application_service_impl.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/subject_auth_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/service/user_on_board_application_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/api/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/api/ecoa_auth_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/api/subject_auth_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/api/system_env_api.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/dto/portal_login_t_ime.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/service/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/service/ecoa_auth_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/service/subject_auth_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/service/system_env_service.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/docs/application.yaml +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/dto/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/dto/base_dto.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/dto/biz_base.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/app_url.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/authorize_ecoa.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/eclinical_requests.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/exceptions.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/gateway.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/sample_headers.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/token_manager.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/__init__.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/constant.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/decrypt.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/json_utils.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/lib.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/logger.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/path.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/placeholder_replacer.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/read_file.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/rsa.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/time_utils.py +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/eclinical_requester.egg-info/SOURCES.txt +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/eclinical_requester.egg-info/dependency_links.txt +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/eclinical_requester.egg-info/requires.txt +0 -0
- {eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/eclinical_requester.egg-info/top_level.txt +0 -0
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/call_api.py
RENAMED
@@ -22,7 +22,7 @@ from api_requester.utils.placeholder_replacer import PlaceholderReplacer
|
|
22
22
|
class ApiRequester(BizBase):
|
23
23
|
|
24
24
|
def __init__(self, username=None, password=None, sponsor=None, study=None, test_env=None, app_env=None, app=None,
|
25
|
-
company=None, role=None, external=False, ttype=None, org_code=None):
|
25
|
+
company=None, role=None, external=False, ttype=None, org_code=None, token=None):
|
26
26
|
u = EClinicalUser(
|
27
27
|
username=username,
|
28
28
|
password=password,
|
@@ -35,6 +35,7 @@ class ApiRequester(BizBase):
|
|
35
35
|
role=role,
|
36
36
|
external=external,
|
37
37
|
org_code=org_code,
|
38
|
+
token=token,
|
38
39
|
)
|
39
40
|
super().__init__(u)
|
40
41
|
self.headers = dict()
|
@@ -11,7 +11,7 @@
|
|
11
11
|
class EClinicalUser:
|
12
12
|
|
13
13
|
def __init__(self, username=None, password=None, sponsor=None, study=None, test_env=None, app_env=None, app=None,
|
14
|
-
company=None, role=None, external=False, org_code=None):
|
14
|
+
company=None, role=None, external=False, org_code=None, token=None):
|
15
15
|
# username 用户名
|
16
16
|
# password 密码
|
17
17
|
# app 访问的系统
|
@@ -30,6 +30,7 @@ class EClinicalUser:
|
|
30
30
|
self.external = external
|
31
31
|
self.company_level_login = False
|
32
32
|
self.org_code = org_code
|
33
|
+
self.token = token # 使用token直接调用接口
|
33
34
|
|
34
35
|
def __repr__(self):
|
35
36
|
attributes = self.__dict__
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/authorize.py
RENAMED
@@ -38,6 +38,11 @@ class Authorize(BizBase, AdminAuthService, AdminUserOnBoardApplicationServiceImp
|
|
38
38
|
CommonSystemEnvServiceImpl.__init__(self)
|
39
39
|
|
40
40
|
def login(self):
|
41
|
+
if self.user.token:
|
42
|
+
self.headers = SampleHeaders().add_authorization(self.user.token).to_h()
|
43
|
+
self.time_mills = time.time()
|
44
|
+
self.user.app = self.login_app
|
45
|
+
return
|
41
46
|
if self.login_app == AppEnum.CODING.code:
|
42
47
|
login_app_tip = "{0}({1})".format(self.login_app,
|
43
48
|
self.user.company_level_login is True and "admin" or "study")
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/authorize_ediary.py
RENAMED
@@ -46,7 +46,7 @@ class AuthorizeEdiary(BizBase, AdminSubjectAuthService, CommonSubjectAuthService
|
|
46
46
|
self.time_mills = time.time()
|
47
47
|
encrypt_pwd = encrypt_password(self.user.password)
|
48
48
|
jwt_authentication_request_dto = SubjectJwtAuthenticationRequest(
|
49
|
-
self.user.username, encrypt_pwd, organizationCode=self.user.org_code)
|
49
|
+
self.user.username, encrypt_pwd, organizationCode=self.user.org_code or None)
|
50
50
|
response = self.auth_subject_login(jwt_authentication_request_dto)
|
51
51
|
if response is None:
|
52
52
|
raise Exception(f"LoginParams failed: {response}")
|
@@ -44,6 +44,14 @@ class TestApiRequester(unittest.TestCase):
|
|
44
44
|
response = c.request("get", "/study/information")
|
45
45
|
assert response.json().get("payload").get("name") == "Study-113-963"
|
46
46
|
|
47
|
+
@staticmethod
|
48
|
+
def test_ediary_login_with_no_org_code():
|
49
|
+
c = ApiRequester("76548847", "340196", app=AppEnum.EDC.code, test_env="dev01", ttype=EdcAppType.EDIARY.name,
|
50
|
+
org_code="")
|
51
|
+
c.login()
|
52
|
+
response = c.request("get", "/study/information")
|
53
|
+
assert response.json().get("payload").get("name") == "Study-113-963"
|
54
|
+
|
47
55
|
@staticmethod
|
48
56
|
def test_ediary_data_with_org_code():
|
49
57
|
c = ApiRequester("76548847", "340196", app=AppEnum.EDC.code, test_env="dev01", ttype=EdcAppType.EDIARY.name,
|
@@ -52,4 +60,13 @@ class TestApiRequester(unittest.TestCase):
|
|
52
60
|
response = c.request("post", "/e-diary-app/offline/subject-version")
|
53
61
|
payload = response.json().get("payload")
|
54
62
|
node = decrypt(payload, is_no_padding=True)
|
55
|
-
print(json.loads(node))
|
63
|
+
print(json.loads(node))
|
64
|
+
|
65
|
+
@staticmethod
|
66
|
+
def test_get_by_token():
|
67
|
+
c = ApiRequester(app=AppEnum.DESIGN.code, test_env="dev03",
|
68
|
+
token="DESIGN eyJhbGciOiJIUzUxMiJ9.eyJ1aWQiOiI4MzM4OTYxZjgzMzc0OWU3YTQwMzcxYWU2MjNjYjk0ZCIsInN1YiI6IlVzZXJ8fENSQzAxfHwxfHwwIiwid2lkIjoiNDdkNmY0NzI3ZTgzNDRmOWJkYjNjOWZiNDc5MmMwYWEiLCJjcmVhdGVkIjoxNzUzNDI5MjIxOTk0LCJleHAiOjE3NjEyMDUyMjF9.GmTtnjobE8RByKBjrRfj8nxjXNgevpmcHRPCRkFD7OEjcdZSW69fX3VBSlSgSXtHAQrdaEPr5W0n6EefNngKWQ")
|
69
|
+
c.login()
|
70
|
+
response = c.request("GET", "/study")
|
71
|
+
payload = response.json().get("payload")
|
72
|
+
print(payload)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/__init__.py
RENAMED
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/admin/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/core/common/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/docs/application.yaml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/__init__.py
RENAMED
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/authorize_ecoa.py
RENAMED
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/exceptions.py
RENAMED
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/sample_headers.py
RENAMED
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/http/token_manager.py
RENAMED
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/__init__.py
RENAMED
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/constant.py
RENAMED
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/decrypt.py
RENAMED
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/json_utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/read_file.py
RENAMED
File without changes
|
File without changes
|
{eclinical_requester-1.0.13 → eclinical_requester-1.0.15}/src/api_requester/utils/time_utils.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|