@@ -28,103 +28,123 @@ type sampleResource struct {
2828
2929var _ genruntime.ARMMetaObject = & sampleResource {}
3030
31- func Test_SamplesTester_UpdatesSubscriptionReferences (t * testing.T ) {
31+ func Test_SamplesTester_UpdatesFieldsForTest (t * testing.T ) {
3232 t .Parallel ()
3333
34- g := NewGomegaWithT (t )
35-
36- tester := & SamplesTester {
37- azureSubscription : uuid .New ().String (),
38- }
39-
40- sample := & sampleResource {
41- Reference : genruntime .CreateResourceReferenceFromARMID ("subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/vm" ),
42- }
43-
44- err := tester .updateFieldsForTest (sample )
45- g .Expect (err ).ToNot (HaveOccurred ())
46-
47- g .Expect (sample .Reference .ARMID ).To (ContainSubstring (tester .azureSubscription ))
48- }
49-
50- func Test_SamplesTester_UpdatesSubscriptionOnlyReference (t * testing.T ) {
51- t .Parallel ()
52-
53- g := NewGomegaWithT (t )
54-
55- tester := & SamplesTester {
56- azureSubscription : uuid .New ().String (),
57- }
58-
59- sample := & sampleResource {
60- Reference : genruntime .CreateResourceReferenceFromARMID ("subscriptions/00000000-0000-0000-0000-000000000000" ),
61- }
62-
63- err := tester .updateFieldsForTest (sample )
64- g .Expect (err ).ToNot (HaveOccurred ())
65-
66- g .Expect (sample .Reference .ARMID ).To (ContainSubstring (tester .azureSubscription ))
67- }
68-
69- func Test_SamplesTester_UpdatesSubscriptionID (t * testing.T ) {
70- t .Parallel ()
71-
72- g := NewGomegaWithT (t )
73-
74- tester := & SamplesTester {
75- azureSubscription : uuid .New ().String (),
76- }
77-
78- sample := & sampleResource {
79- SubscriptionID : emptyGUID ,
80- }
81-
82- err := tester .updateFieldsForTest (sample )
83- g .Expect (err ).ToNot (HaveOccurred ())
84-
85- g .Expect (sample .SubscriptionID ).To (Equal (tester .azureSubscription ))
86- }
87-
88- func Test_SamplesTester_UpdatesTenantID (t * testing.T ) {
89- t .Parallel ()
90-
91- g := NewGomegaWithT (t )
92-
93- tester := & SamplesTester {
94- azureTenant : uuid .New ().String (),
95- }
96-
97- sample := & sampleResource {
98- TenantID : emptyGUID ,
99- }
100-
101- err := tester .updateFieldsForTest (sample )
102- g .Expect (err ).ToNot (HaveOccurred ())
103-
104- g .Expect (sample .TenantID ).To (Equal (tester .azureTenant ))
105- }
106-
107- func Test_SamplesTester_UpdatesResourceGroupName (t * testing.T ) {
108- t .Parallel ()
109-
110- g := NewGomegaWithT (t )
111-
112- tester := & SamplesTester {
113- rgName : "somerandomrg" ,
114- }
115-
116- sample := & sampleResource {
117- Reference : genruntime.ResourceReference {
118- Group : "resources.azure.com" ,
119- Kind : "ResourceGroup" ,
120- Name : "aso-sample-rg" ,
34+ subscription := uuid .New ().String ()
35+ tenant := uuid .New ().String ()
36+ rgName := "somerandomrg"
37+
38+ cases := []struct {
39+ name string
40+ useRandomName bool
41+ rgName string
42+ subscription string
43+ tenant string
44+ nameRenames map [referenceKey ]string
45+ sample * sampleResource
46+ check func (g Gomega , sample * sampleResource )
47+ }{
48+ {
49+ name : "updates ARMID reference with subscription" ,
50+ subscription : subscription ,
51+ sample : & sampleResource {
52+ Reference : genruntime .CreateResourceReferenceFromARMID ("subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/vm" ),
53+ },
54+ check : func (g Gomega , sample * sampleResource ) {
55+ g .Expect (sample .Reference .ARMID ).To (ContainSubstring (subscription ))
56+ },
57+ },
58+ {
59+ name : "updates subscription-only ARMID reference" ,
60+ subscription : subscription ,
61+ sample : & sampleResource {
62+ Reference : genruntime .CreateResourceReferenceFromARMID ("subscriptions/00000000-0000-0000-0000-000000000000" ),
63+ },
64+ check : func (g Gomega , sample * sampleResource ) {
65+ g .Expect (sample .Reference .ARMID ).To (ContainSubstring (subscription ))
66+ },
67+ },
68+ {
69+ name : "updates SubscriptionID field" ,
70+ subscription : subscription ,
71+ sample : & sampleResource {
72+ SubscriptionID : emptyGUID ,
73+ },
74+ check : func (g Gomega , sample * sampleResource ) {
75+ g .Expect (sample .SubscriptionID ).To (Equal (subscription ))
76+ },
77+ },
78+ {
79+ name : "updates TenantID field" ,
80+ tenant : tenant ,
81+ sample : & sampleResource {
82+ TenantID : emptyGUID ,
83+ },
84+ check : func (g Gomega , sample * sampleResource ) {
85+ g .Expect (sample .TenantID ).To (Equal (tenant ))
86+ },
87+ },
88+ {
89+ name : "updates ResourceGroup reference name" ,
90+ rgName : rgName ,
91+ sample : & sampleResource {
92+ Reference : genruntime.ResourceReference {
93+ Group : "resources.azure.com" ,
94+ Kind : "ResourceGroup" ,
95+ Name : "aso-sample-rg" ,
96+ },
97+ },
98+ check : func (g Gomega , sample * sampleResource ) {
99+ g .Expect (sample .Reference .Name ).To (Equal (rgName ))
100+ },
101+ },
102+ {
103+ name : "updates reference name when useRandomNames is true" ,
104+ useRandomName : true ,
105+ nameRenames : map [referenceKey ]string {
106+ {Kind : "VirtualNetwork" , Name : "my-virtual-network" }: "randomname123" ,
107+ },
108+ sample : & sampleResource {
109+ Reference : genruntime.ResourceReference {
110+ Group : "network.azure.com" ,
111+ Kind : "VirtualNetwork" ,
112+ Name : "my-virtual-network" ,
113+ },
114+ },
115+ check : func (g Gomega , sample * sampleResource ) {
116+ g .Expect (sample .Reference .Name ).To (Equal ("randomname123" ))
117+ },
121118 },
122119 }
123120
124- err := tester .updateFieldsForTest (sample )
125- g .Expect (err ).ToNot (HaveOccurred ())
126-
127- g .Expect (sample .Reference .Name ).To (Equal (tester .rgName ))
121+ for _ , c := range cases {
122+ c := c
123+ t .Run (c .name , func (t * testing.T ) {
124+ t .Parallel ()
125+ g := NewGomegaWithT (t )
126+
127+ tester := NewSamplesTester (
128+ ResourceNamer {},
129+ nil ,
130+ "" ,
131+ "" ,
132+ c .useRandomName ,
133+ c .rgName ,
134+ c .subscription ,
135+ c .tenant ,
136+ )
137+
138+ for k , v := range c .nameRenames {
139+ tester .nameRenames [k ] = v
140+ }
141+
142+ err := tester .updateFieldsForTest (c .sample )
143+ g .Expect (err ).ToNot (HaveOccurred ())
144+
145+ c .check (g , c .sample )
146+ })
147+ }
128148}
129149
130150func (s * sampleResource ) GetSupportedOperations () []genruntime.ResourceOperation {
0 commit comments