Coverage for functions \ flipdare \ request \ data \ delete_request_adapter.py: 86%

28 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-05-08 12:22 +1000

1#!/usr/bin/env python 

2# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved. 

3# 

4# This file is part of Flipdare's proprietary software and contains 

5# confidential and copyrighted material. Unauthorised copying, 

6# modification, distribution, or use of this file is strictly 

7# prohibited without prior written permission from Flipdare Pty Ltd. 

8# 

9# This software includes third-party components licensed under MIT, 

10# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details. 

11# 

12 

13 

14from flipdare.generated.schema.external.delete_confirm_schema import DeleteConfirmSchema 

15from flipdare.generated.schema.external.delete_request_schema import DeleteRequestSchema 

16from flipdare.request.request_adapter import RequestAdapter 

17from flipdare.request.request_validator import EmailRequestValidator, HoneyPotRequestValidator 

18 

19__all__ = ["DeleteConfirmRequestAdapter", "DeleteRequestAdapter"] 

20 

21 

22class DeleteConfirmRequestAdapter(RequestAdapter[DeleteConfirmSchema]): 

23 

24 SCHEMA_CLS = DeleteConfirmSchema 

25 VALIDATORS = (HoneyPotRequestValidator, EmailRequestValidator) 

26 

27 @property 

28 def email(self) -> str: 

29 return self.data["email"] 

30 

31 @property 

32 def honeypot(self) -> str | None: 

33 return self.data.get("address", None) 

34 

35 @property 

36 def delete_code(self) -> str: 

37 return self.data["delete_code"] 

38 

39 

40class DeleteRequestAdapter(RequestAdapter[DeleteRequestSchema]): 

41 

42 SCHEMA_CLS = DeleteRequestSchema 

43 VALIDATORS = (HoneyPotRequestValidator, EmailRequestValidator) 

44 

45 @property 

46 def email(self) -> str: 

47 return self.data["email"] 

48 

49 @property 

50 def honeypot(self) -> str | None: 

51 if "address" in self.data: 

52 return self.data["address"] 

53 return None