Coverage for dcim/graphql/gfk_mixins.py: 0%

71 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-10 18:35 +0000

1from strawberry.types import Info 

2 

3from circuits.graphql.types import CircuitTerminationType, ProviderNetworkType 

4from circuits.models import CircuitTermination, ProviderNetwork 

5from dcim.graphql.types import ( 

6 ConsolePortTemplateType, 

7 ConsolePortType, 

8 ConsoleServerPortTemplateType, 

9 ConsoleServerPortType, 

10 FrontPortTemplateType, 

11 FrontPortType, 

12 InterfaceTemplateType, 

13 InterfaceType, 

14 PowerFeedType, 

15 PowerOutletTemplateType, 

16 PowerOutletType, 

17 PowerPortTemplateType, 

18 PowerPortType, 

19 RearPortTemplateType, 

20 RearPortType, 

21) 

22from dcim.models import ( 

23 ConsolePort, 

24 ConsolePortTemplate, 

25 ConsoleServerPort, 

26 ConsoleServerPortTemplate, 

27 FrontPort, 

28 FrontPortTemplate, 

29 Interface, 

30 InterfaceTemplate, 

31 PowerFeed, 

32 PowerOutlet, 

33 PowerOutletTemplate, 

34 PowerPort, 

35 PowerPortTemplate, 

36 RearPort, 

37 RearPortTemplate, 

38) 

39 

40 

41class InventoryItemTemplateComponentType: 

42 class Meta: 

43 types = ( 

44 ConsolePortTemplateType, 

45 ConsoleServerPortTemplateType, 

46 FrontPortTemplateType, 

47 InterfaceTemplateType, 

48 PowerOutletTemplateType, 

49 PowerPortTemplateType, 

50 RearPortTemplateType, 

51 ) 

52 

53 @classmethod 

54 def resolve_type(cls, instance, info: Info): 

55 if type(instance) is ConsolePortTemplate: 

56 return ConsolePortTemplateType 

57 if type(instance) is ConsoleServerPortTemplate: 

58 return ConsoleServerPortTemplateType 

59 if type(instance) is FrontPortTemplate: 

60 return FrontPortTemplateType 

61 if type(instance) is InterfaceTemplate: 

62 return InterfaceTemplateType 

63 if type(instance) is PowerOutletTemplate: 

64 return PowerOutletTemplateType 

65 if type(instance) is PowerPortTemplate: 

66 return PowerPortTemplateType 

67 if type(instance) is RearPortTemplate: 

68 return RearPortTemplateType 

69 return None 

70 

71 

72class InventoryItemComponentType: 

73 class Meta: 

74 types = ( 

75 ConsolePortType, 

76 ConsoleServerPortType, 

77 FrontPortType, 

78 InterfaceType, 

79 PowerOutletType, 

80 PowerPortType, 

81 RearPortType, 

82 ) 

83 

84 @classmethod 

85 def resolve_type(cls, instance, info: Info): 

86 if type(instance) is ConsolePort: 

87 return ConsolePortType 

88 if type(instance) is ConsoleServerPort: 

89 return ConsoleServerPortType 

90 if type(instance) is FrontPort: 

91 return FrontPortType 

92 if type(instance) is Interface: 

93 return InterfaceType 

94 if type(instance) is PowerOutlet: 

95 return PowerOutletType 

96 if type(instance) is PowerPort: 

97 return PowerPortType 

98 if type(instance) is RearPort: 

99 return RearPortType 

100 return None 

101 

102 

103class ConnectedEndpointType: 

104 class Meta: 

105 types = ( 

106 CircuitTerminationType, 

107 ConsolePortType, 

108 ConsoleServerPortType, 

109 FrontPortType, 

110 InterfaceType, 

111 PowerFeedType, 

112 PowerOutletType, 

113 PowerPortType, 

114 ProviderNetworkType, 

115 RearPortType, 

116 ) 

117 

118 @classmethod 

119 def resolve_type(cls, instance, info: Info): 

120 if type(instance) is CircuitTermination: 

121 return CircuitTerminationType 

122 if type(instance) is ConsolePort: 

123 return ConsolePortType 

124 if type(instance) is ConsoleServerPort: 

125 return ConsoleServerPortType 

126 if type(instance) is FrontPort: 

127 return FrontPortType 

128 if type(instance) is Interface: 

129 return InterfaceType 

130 if type(instance) is PowerFeed: 

131 return PowerFeedType 

132 if type(instance) is PowerOutlet: 

133 return PowerOutletType 

134 if type(instance) is PowerPort: 

135 return PowerPortType 

136 if type(instance) is ProviderNetwork: 

137 return ProviderNetworkType 

138 if type(instance) is RearPort: 

139 return RearPortType 

140 return None