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

1# -*- coding: utf-8 -*- 

2from ocp_resources.utils.constants import TIMEOUT_4MINUTES 

3from ocp_resources.resource import NamespacedResource 

4 

5 

6class Route(NamespacedResource): 

7 """ 

8 OpenShift Route object. 

9 """ 

10 

11 api_group = NamespacedResource.ApiGroup.ROUTE_OPENSHIFT_IO 

12 

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 

36 

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 } 

47 

48 @property 

49 def exposed_service(self): 

50 """ 

51 returns the service the route is exposing 

52 """ 

53 return self.instance.spec.to.name 

54 

55 @property 

56 def host(self): 

57 """ 

58 returns hostname that is exposing the service 

59 """ 

60 return self.instance.spec.host 

61 

62 @property 

63 def ca_cert(self): 

64 """ 

65 returns destinationCACertificate 

66 """ 

67 return self.instance.spec.tls.destinationCACertificate 

68 

69 @property 

70 def termination(self): 

71 """ 

72 returns a secured route using re-encrypt termination 

73 """ 

74 return self.instance.spec.tls.termination