1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package testservicemetadataloader
16
17 import (
18 "github.com/GoogleCloudPlatform/k8s-config-connector/pkg/dcl/metadata"
19 )
20
21 func FakeServiceMetadata() []metadata.ServiceMetadata {
22 return []metadata.ServiceMetadata{
23 {
24 Name: "Test1",
25 APIVersion: "v1alpha1",
26 DCLVersion: "beta",
27 Resources: []metadata.Resource{
28 {Kind: "Test1Foo", Releasable: true},
29 {Kind: "Test1Bar", Releasable: true},
30 {Kind: "Test1IDPConfig", DCLType: "IdpConfig", Releasable: true},
31 {Kind: "Test1NotYetSupportedKind", Releasable: false},
32 {Kind: "Test1NoLabelsExtension", Releasable: true},
33 },
34 },
35 {
36 Name: "Test2",
37 APIVersion: "v1alpha1",
38 DCLVersion: "beta",
39 Resources: []metadata.Resource{
40 {Kind: "Test2Baz", Releasable: true},
41 {Kind: "Test2NoName", Releasable: true},
42 },
43 },
44 {
45 Name: "Test3",
46 APIVersion: "v1alpha1",
47 DCLVersion: "beta",
48 ServiceNameUsedByDCL: "DCLTest3",
49 Resources: []metadata.Resource{
50 {Kind: "Test3Qux", Releasable: true},
51 },
52 },
53 {
54 Name: "Test4",
55 APIVersion: "v1alpha1",
56 DCLVersion: "beta",
57 Resources: []metadata.Resource{
58 {Kind: "Test4ProjectContainer", SupportsContainerAnnotations: true, Releasable: true},
59 {Kind: "Test4OrganizationContainer", SupportsContainerAnnotations: true, Releasable: true},
60 {Kind: "Test4NoContainer", Releasable: true},
61
62
63
64 {Kind: "Test4NoContainerExtensionButSupportsContainers", SupportsContainerAnnotations: true, SupportsHierarchicalReferences: true, Releasable: true},
65 {Kind: "Test4NoContainerExtensionAndSupportsContainersButHasNoHierarchicalRefs", SupportsContainerAnnotations: true, Releasable: true},
66 },
67 },
68 {
69 Name: "Test5",
70 APIVersion: "v1alpha1",
71 DCLVersion: "beta",
72 Resources: []metadata.Resource{
73
74
75
76 {Kind: "Test5NoHierarchicalRef", Releasable: true},
77 {Kind: "Test5ProjectRef", Releasable: true, SupportsHierarchicalReferences: true},
78 {Kind: "Test5FolderRef", Releasable: true, SupportsHierarchicalReferences: true},
79 {Kind: "Test5OrganizationRef", Releasable: true, SupportsHierarchicalReferences: true},
80 {Kind: "Test5MultipleRefs", Releasable: true, SupportsHierarchicalReferences: true},
81 {Kind: "Test5TwoRefs", Releasable: true, SupportsHierarchicalReferences: true},
82 },
83 },
84 {
85 Name: "Test6",
86 APIVersion: "v1alpha1",
87 DCLVersion: "beta",
88 Resources: []metadata.Resource{
89
90
91
92 {Kind: "Test6NoContainerOrHierarchicalRef", Releasable: true},
93 {Kind: "Test6OnlyContainer", Releasable: true, SupportsContainerAnnotations: true},
94 {Kind: "Test6OnlyHierarchicalRef", Releasable: true, SupportsHierarchicalReferences: true},
95 {Kind: "Test6BothContainerAndHierarchicalRef", Releasable: true, SupportsContainerAnnotations: true, SupportsHierarchicalReferences: true},
96 },
97 },
98 {
99 Name: "Test7",
100 APIVersion: "v1alpha1",
101 DCLVersion: "beta",
102 Resources: []metadata.Resource{
103 {Kind: "Test7AlphaResource", Releasable: true, DCLVersion: "alpha"},
104 {Kind: "Test7BetaResource", Releasable: true},
105 {Kind: "Test7GaResource", Releasable: true, DCLVersion: "ga"},
106 },
107 },
108 }
109 }
110
111
112
113
114 func FakeServiceMetadataWithHierarchicalResources() []metadata.ServiceMetadata {
115 return append(FakeServiceMetadata(),
116 metadata.ServiceMetadata{
117 Name: "ResourceManager",
118 APIVersion: "v1beta1",
119 DCLVersion: "ga",
120 ServiceNameUsedByDCL: "cloudresourcemanager",
121 Resources: []metadata.Resource{
122 {Kind: "Project", Releasable: false},
123 {Kind: "Folder", Releasable: false},
124 {Kind: "Organization", Releasable: false},
125 {Kind: "BillingAccount", Releasable: false},
126 },
127 })
128 }
129
130 func NewForUnitTest() metadata.ServiceMetadataLoader {
131 return metadata.NewFromServiceList(FakeServiceMetadata())
132 }
133
View as plain text