Coverage for ocp_resources/secret.py: 79%

34 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-30 10:51 +0200

1from ocp_resources.utils.constants import TIMEOUT_4MINUTES 

2from ocp_resources.resource import NamespacedResource 

3 

4 

5class Secret(NamespacedResource): 

6 """ 

7 Secret object. 

8 """ 

9 

10 api_version = NamespacedResource.ApiVersion.V1 

11 

12 def __init__( 

13 self, 

14 name=None, 

15 namespace=None, 

16 client=None, 

17 accesskeyid=None, 

18 secretkey=None, 

19 htpasswd=None, 

20 teardown=True, 

21 data_dict=None, 

22 string_data=None, 

23 yaml_file=None, 

24 delete_timeout=TIMEOUT_4MINUTES, 

25 type=None, 

26 **kwargs, 

27 ): 

28 super().__init__( 

29 name=name, 

30 namespace=namespace, 

31 client=client, 

32 teardown=teardown, 

33 yaml_file=yaml_file, 

34 delete_timeout=delete_timeout, 

35 **kwargs, 

36 ) 

37 self.accesskeyid = accesskeyid 

38 self.secretkey = secretkey 

39 self.htpasswd = htpasswd 

40 self.data_dict = data_dict 

41 self.string_data = string_data 

42 self.type = type 

43 

44 def to_dict(self) -> None: 

45 super().to_dict() 

46 if not self.kind_dict and not self.yaml_file: 

47 if self.accesskeyid: 

48 self.res.update({ 

49 "data": { 

50 "accessKeyId": self.accesskeyid, 

51 "secretKey": self.secretkey, 

52 } 

53 }) 

54 if self.htpasswd: 

55 self.res.update({"data": {"htpasswd": self.htpasswd}}) 

56 if self.data_dict: 

57 self.res.update({"data": self.data_dict}) 

58 if self.string_data: 

59 self.res.update({"stringData": self.string_data}) 

60 if self.type: 

61 self.res.update({"type": self.type}) 

62 

63 @property 

64 def certificate_not_after(self): 

65 return self.instance.metadata.annotations["auth.openshift.io/certificate-not-after"] 

66 

67 @property 

68 def certificate_not_before(self): 

69 return self.instance.metadata.annotations["auth.openshift.io/certificate-not-before"] 

70 

71 @property 

72 def keys_to_hash(self): 

73 return ["data", "stringData"]