Coverage for ocp_resources/role_binding.py: 0%

34 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 RoleBinding(NamespacedResource): 

7 """ 

8 RoleBinding object 

9 """ 

10 

11 api_group = NamespacedResource.ApiGroup.RBAC_AUTHORIZATION_K8S_IO 

12 

13 def __init__( 

14 self, 

15 name=None, 

16 namespace=None, 

17 client=None, 

18 subjects_kind=None, 

19 subjects_name=None, 

20 subjects_namespace=None, 

21 subjects_api_group=None, 

22 role_ref_kind=None, 

23 role_ref_name=None, 

24 teardown=True, 

25 yaml_file=None, 

26 delete_timeout=TIMEOUT_4MINUTES, 

27 **kwargs, 

28 ): 

29 super().__init__( 

30 name=name, 

31 namespace=namespace, 

32 client=client, 

33 teardown=teardown, 

34 yaml_file=yaml_file, 

35 delete_timeout=delete_timeout, 

36 **kwargs, 

37 ) 

38 self.subjects_kind = subjects_kind 

39 self.subjects_name = subjects_name 

40 self.subjects_namespace = subjects_namespace 

41 self.subjects_api_group = subjects_api_group 

42 self.role_ref_kind = role_ref_kind 

43 self.role_ref_name = role_ref_name 

44 

45 def to_dict(self) -> None: 

46 super().to_dict() 

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

48 subjects = {} 

49 if self.subjects_kind: 

50 subjects["kind"] = self.subjects_kind 

51 if self.subjects_name: 

52 subjects["name"] = self.subjects_name 

53 if self.subjects_namespace: 

54 subjects["namespace"] = self.subjects_namespace 

55 if self.subjects_api_group: 

56 subjects["apiGroup"] = self.subjects_api_group 

57 if subjects: 

58 self.res["subjects"] = [subjects] 

59 

60 roleref = {} 

61 if self.role_ref_kind: 

62 roleref["kind"] = self.role_ref_kind 

63 if self.role_ref_name: 

64 roleref["name"] = self.role_ref_name 

65 if roleref: 

66 roleref["apiGroup"] = self.api_group 

67 self.res["roleRef"] = roleref