Coverage for ocp_resources/route.py: 0%
27 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
1# -*- coding: utf-8 -*-
2from ocp_resources.utils.constants import TIMEOUT_4MINUTES
3from ocp_resources.resource import NamespacedResource
6class Route(NamespacedResource):
7 """
8 OpenShift Route object.
9 """
11 api_group = NamespacedResource.ApiGroup.ROUTE_OPENSHIFT_IO
13 def __init__(
14 self,
15 name=None,
16 namespace=None,
17 client=None,
18 service=None,
19 destination_ca_cert=None,
20 teardown=True,
21 yaml_file=None,
22 delete_timeout=TIMEOUT_4MINUTES,
23 **kwargs,
24 ):
25 super().__init__(
26 name=name,
27 namespace=namespace,
28 client=client,
29 teardown=teardown,
30 yaml_file=yaml_file,
31 delete_timeout=delete_timeout,
32 **kwargs,
33 )
34 self.service = service
35 self.destination_ca_cert = destination_ca_cert
37 def to_dict(self) -> None:
38 super().to_dict()
39 if not self.kind_dict and not self.yaml_file:
40 if self.service:
41 self.res.update({"spec": {"to": {"kind": "Service", "name": self.service}}})
42 if self.destination_ca_cert:
43 self.res["spec"]["tls"] = {
44 "destinationCACertificate": self.destination_ca_cert,
45 "termination": "reencrypt",
46 }
48 @property
49 def exposed_service(self):
50 """
51 returns the service the route is exposing
52 """
53 return self.instance.spec.to.name
55 @property
56 def host(self):
57 """
58 returns hostname that is exposing the service
59 """
60 return self.instance.spec.host
62 @property
63 def ca_cert(self):
64 """
65 returns destinationCACertificate
66 """
67 return self.instance.spec.tls.destinationCACertificate
69 @property
70 def termination(self):
71 """
72 returns a secured route using re-encrypt termination
73 """
74 return self.instance.spec.tls.termination