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
« 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
5class Secret(NamespacedResource):
6 """
7 Secret object.
8 """
10 api_version = NamespacedResource.ApiVersion.V1
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
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})
63 @property
64 def certificate_not_after(self):
65 return self.instance.metadata.annotations["auth.openshift.io/certificate-not-after"]
67 @property
68 def certificate_not_before(self):
69 return self.instance.metadata.annotations["auth.openshift.io/certificate-not-before"]
71 @property
72 def keys_to_hash(self):
73 return ["data", "stringData"]