Coverage for src/integrify/azericard/handler.py: 100%

31 statements  

« prev     ^ index     » next       coverage.py v7.9.2, created at 2025-12-29 00:57 +0000

1from typing import Optional, Union 

2 

3from integrify.api import APIPayloadHandler 

4from integrify.azericard.schemas.request import ( 

5 AuthAndSaveCardRequestSchema, 

6 AuthConfirmRequestSchema, 

7 AuthRequestSchema, 

8 AuthWithSavedCardRequestSchema, 

9 GetTransactionStatusRequestSchema, 

10 TransferConfirmDeclineRequestSchema, 

11 TransferStartRequestSchema, 

12) 

13from integrify.azericard.schemas.response import ( 

14 GetTransactionStatusResponseSchema, 

15 TransferConfirmResponseSchema, 

16 TransferDeclineResponseSchema, 

17) 

18from integrify.schemas import PayloadBaseModel, _ResponseT 

19 

20# =============================================================================================== # 

21# AUTH HANDLERS # 

22# =============================================================================================== # 

23 

24 

25class BaseAzericardPayloadHandler(APIPayloadHandler): 

26 def __init__( 

27 self, 

28 req_model: Optional[type[PayloadBaseModel]] = None, 

29 resp_model: Union[type[_ResponseT], type[dict], None] = dict, 

30 dry: bool = True, 

31 ): 

32 super().__init__(req_model, resp_model, dry) 

33 

34 

35class AuthPayloadHandler(BaseAzericardPayloadHandler): 

36 def __init__(self): 

37 super().__init__(req_model=AuthRequestSchema) 

38 

39 

40class AuthConfirmPayloadHandler(BaseAzericardPayloadHandler): 

41 def __init__(self): 

42 super().__init__(req_model=AuthConfirmRequestSchema) 

43 

44 

45class AuthAndSavePayloadHandler(BaseAzericardPayloadHandler): 

46 def __init__(self): 

47 super().__init__(req_model=AuthAndSaveCardRequestSchema) 

48 

49 

50class AuthWithSavedCardPayloadHandler(BaseAzericardPayloadHandler): 

51 def __init__(self): 

52 super().__init__(req_model=AuthWithSavedCardRequestSchema) 

53 

54 

55class GetTransactionStatusPayloadHandler(APIPayloadHandler): 

56 def __init__(self): 

57 super().__init__(GetTransactionStatusRequestSchema, GetTransactionStatusResponseSchema) 

58 

59 

60# =============================================================================================== # 

61# TRANSFER HANDLERS # 

62# =============================================================================================== # 

63class TransferStartPayloadHandler(BaseAzericardPayloadHandler): 

64 def __init__(self): 

65 super().__init__(req_model=TransferStartRequestSchema) 

66 

67 

68class TransferConfirmPayloadHandler(APIPayloadHandler): 

69 def __init__(self): 

70 super().__init__(TransferConfirmDeclineRequestSchema, TransferConfirmResponseSchema) 

71 

72 

73class TransferDeclinePayloadHandler(APIPayloadHandler): 

74 def __init__(self): 

75 super().__init__( 

76 TransferConfirmDeclineRequestSchema, 

77 TransferDeclineResponseSchema, 

78 ) # pragma: no cover