@@ -37,7 +37,9 @@ func TestRunContents(t *testing.T) {
37
37
wantConfigGenerated bool
38
38
wantTelemetryGenerated bool
39
39
wantResourceAttributesGenerated bool
40
+ wantReadmeGenerated bool
40
41
wantStatusGenerated bool
42
+ wantComponentTestGenerated bool
41
43
wantGoleakIgnore bool
42
44
wantGoleakSkip bool
43
45
wantGoleakSetup bool
@@ -49,89 +51,131 @@ func TestRunContents(t *testing.T) {
49
51
wantErr : true ,
50
52
},
51
53
{
52
- yml : "basic_connector.yaml" ,
53
- wantErr : false ,
54
- wantStatusGenerated : true ,
54
+ yml : "basic_connector.yaml" ,
55
+ wantErr : false ,
56
+ wantStatusGenerated : true ,
57
+ wantReadmeGenerated : true ,
58
+ wantComponentTestGenerated : true ,
59
+ },
60
+ {
61
+ yml : "basic_receiver.yaml" ,
62
+ wantErr : false ,
63
+ wantStatusGenerated : true ,
64
+ wantReadmeGenerated : true ,
65
+ wantComponentTestGenerated : true ,
55
66
},
56
67
{
57
- yml : "basic_receiver .yaml" ,
68
+ yml : "basic_pkg .yaml" ,
58
69
wantErr : false ,
59
- wantStatusGenerated : true ,
70
+ wantStatusGenerated : false ,
71
+ wantReadmeGenerated : true ,
60
72
},
61
73
{
62
- yml : "metrics_and_type.yaml" ,
63
- wantMetricsGenerated : true ,
64
- wantConfigGenerated : true ,
65
- wantStatusGenerated : true ,
74
+ yml : "metrics_and_type.yaml" ,
75
+ wantMetricsGenerated : true ,
76
+ wantConfigGenerated : true ,
77
+ wantStatusGenerated : true ,
78
+ wantReadmeGenerated : true ,
79
+ wantComponentTestGenerated : true ,
66
80
},
67
81
{
68
82
yml : "resource_attributes_only.yaml" ,
69
83
wantConfigGenerated : true ,
70
84
wantStatusGenerated : true ,
71
85
wantResourceAttributesGenerated : true ,
86
+ wantReadmeGenerated : true ,
87
+ wantComponentTestGenerated : true ,
72
88
},
73
89
{
74
- yml : "status_only.yaml" ,
75
- wantStatusGenerated : true ,
90
+ yml : "status_only.yaml" ,
91
+ wantStatusGenerated : true ,
92
+ wantReadmeGenerated : true ,
93
+ wantComponentTestGenerated : true ,
76
94
},
77
95
{
78
- yml : "with_tests_receiver.yaml" ,
79
- wantStatusGenerated : true ,
96
+ yml : "with_tests_receiver.yaml" ,
97
+ wantStatusGenerated : true ,
98
+ wantReadmeGenerated : true ,
99
+ wantComponentTestGenerated : true ,
80
100
},
81
101
{
82
- yml : "with_tests_exporter.yaml" ,
83
- wantStatusGenerated : true ,
102
+ yml : "with_tests_exporter.yaml" ,
103
+ wantStatusGenerated : true ,
104
+ wantReadmeGenerated : true ,
105
+ wantComponentTestGenerated : true ,
84
106
},
85
107
{
86
- yml : "with_tests_processor.yaml" ,
87
- wantStatusGenerated : true ,
108
+ yml : "with_tests_processor.yaml" ,
109
+ wantStatusGenerated : true ,
110
+ wantReadmeGenerated : true ,
111
+ wantComponentTestGenerated : true ,
88
112
},
89
113
{
90
- yml : "with_tests_extension.yaml" ,
91
- wantStatusGenerated : true ,
114
+ yml : "with_tests_extension.yaml" ,
115
+ wantStatusGenerated : true ,
116
+ wantReadmeGenerated : true ,
117
+ wantComponentTestGenerated : true ,
92
118
},
93
119
{
94
- yml : "with_tests_connector.yaml" ,
95
- wantStatusGenerated : true ,
120
+ yml : "with_tests_connector.yaml" ,
121
+ wantStatusGenerated : true ,
122
+ wantReadmeGenerated : true ,
123
+ wantComponentTestGenerated : true ,
96
124
},
97
125
{
98
- yml : "with_goleak_ignores.yaml" ,
99
- wantStatusGenerated : true ,
100
- wantGoleakIgnore : true ,
126
+ yml : "with_goleak_ignores.yaml" ,
127
+ wantStatusGenerated : true ,
128
+ wantGoleakIgnore : true ,
129
+ wantReadmeGenerated : true ,
130
+ wantComponentTestGenerated : true ,
101
131
},
102
132
{
103
- yml : "with_goleak_skip.yaml" ,
104
- wantStatusGenerated : true ,
105
- wantGoleakSkip : true ,
133
+ yml : "with_goleak_skip.yaml" ,
134
+ wantStatusGenerated : true ,
135
+ wantGoleakSkip : true ,
136
+ wantReadmeGenerated : true ,
137
+ wantComponentTestGenerated : true ,
106
138
},
107
139
{
108
- yml : "with_goleak_setup.yaml" ,
109
- wantStatusGenerated : true ,
110
- wantGoleakSetup : true ,
140
+ yml : "with_goleak_setup.yaml" ,
141
+ wantStatusGenerated : true ,
142
+ wantGoleakSetup : true ,
143
+ wantReadmeGenerated : true ,
144
+ wantComponentTestGenerated : true ,
111
145
},
112
146
{
113
- yml : "with_goleak_teardown.yaml" ,
114
- wantStatusGenerated : true ,
115
- wantGoleakTeardown : true ,
147
+ yml : "with_goleak_teardown.yaml" ,
148
+ wantStatusGenerated : true ,
149
+ wantGoleakTeardown : true ,
150
+ wantReadmeGenerated : true ,
151
+ wantComponentTestGenerated : true ,
116
152
},
117
153
{
118
- yml : "with_telemetry.yaml" ,
119
- wantStatusGenerated : true ,
120
- wantTelemetryGenerated : true ,
154
+ yml : "with_telemetry.yaml" ,
155
+ wantStatusGenerated : true ,
156
+ wantTelemetryGenerated : true ,
157
+ wantReadmeGenerated : true ,
158
+ wantComponentTestGenerated : true ,
121
159
},
122
160
{
123
- yml : "invalid_telemetry_missing_value_type_for_histogram.yaml" ,
124
- wantErr : true ,
161
+ yml : "invalid_telemetry_missing_value_type_for_histogram.yaml" ,
162
+ wantErr : true ,
163
+ wantReadmeGenerated : true ,
164
+ wantComponentTestGenerated : true ,
125
165
},
126
166
{
127
- yml : "async_metric.yaml" ,
128
- wantMetricsGenerated : true ,
129
- wantConfigGenerated : true ,
130
- wantStatusGenerated : true ,
167
+ yml : "async_metric.yaml" ,
168
+ wantMetricsGenerated : true ,
169
+ wantConfigGenerated : true ,
170
+ wantStatusGenerated : true ,
171
+ wantReadmeGenerated : true ,
172
+ wantComponentTestGenerated : true ,
131
173
},
132
174
{
133
- yml : "custom_generated_package_name.yaml" ,
134
- wantStatusGenerated : true ,
175
+ yml : "custom_generated_package_name.yaml" ,
176
+ wantStatusGenerated : true ,
177
+ wantReadmeGenerated : true ,
178
+ wantComponentTestGenerated : true ,
135
179
},
136
180
}
137
181
for _ , tt := range tests {
@@ -147,17 +191,20 @@ func TestRunContents(t *testing.T) {
147
191
<!-- status autogenerated section -->
148
192
foo
149
193
<!-- end autogenerated section -->` ), 0o600 ))
150
-
151
- err = run (metadataFile )
194
+ md , err := LoadMetadata (metadataFile )
152
195
if tt .wantErr {
153
196
require .Error (t , err )
154
197
return
155
198
}
156
199
require .NoError (t , err )
200
+ generatedPackageDir := filepath .Join ("internal" , md .GeneratedPackageName )
201
+ require .NoError (t , os .MkdirAll (filepath .Join (tmpdir , generatedPackageDir ), 0o700 ))
202
+ require .NoError (t , os .WriteFile (filepath .Join (tmpdir , generatedPackageDir , "generated_status.go" ), []byte ("status" ), 0o600 ))
203
+ require .NoError (t , os .WriteFile (filepath .Join (tmpdir , generatedPackageDir , "generated_telemetry_test.go" ), []byte ("test" ), 0o600 ))
204
+ require .NoError (t , os .WriteFile (filepath .Join (tmpdir , generatedPackageDir , "generated_component_test.go" ), []byte ("test" ), 0o600 ))
157
205
158
- md , err := LoadMetadata (metadataFile )
206
+ err = run (metadataFile )
159
207
require .NoError (t , err )
160
- generatedPackageDir := filepath .Join ("internal" , md .GeneratedPackageName )
161
208
162
209
var contents []byte
163
210
if tt .wantMetricsGenerated {
197
244
}
198
245
} else {
199
246
require .NoFileExists (t , filepath .Join (tmpdir , generatedPackageDir , "generated_telemetry.go" ))
200
- require .NoFileExists (t , filepath .Join (tmpdir , generatedPackageDir , "generated_telemetry_test.go" ))
201
247
}
202
248
203
249
if ! tt .wantMetricsGenerated && ! tt .wantTelemetryGenerated && ! tt .wantResourceAttributesGenerated {
@@ -206,22 +252,28 @@ foo
206
252
207
253
if tt .wantStatusGenerated {
208
254
require .FileExists (t , filepath .Join (tmpdir , generatedPackageDir , "generated_status.go" ))
209
- contents , err = os .ReadFile (filepath .Join (tmpdir , "README.md" )) //nolint:gosec
210
- require .NoError (t , err )
211
- require .NotContains (t , string (contents ), "foo" )
212
255
} else {
213
256
require .NoFileExists (t , filepath .Join (tmpdir , generatedPackageDir , "generated_status.go" ))
214
- contents , err = os .ReadFile (filepath .Join (tmpdir , "README.md" )) //nolint:gosec
215
- require .NoError (t , err )
216
- require .Contains (t , string (contents ), "foo" )
217
257
}
218
258
219
- require .FileExists (t , filepath .Join (tmpdir , "generated_component_test.go" ))
220
- contents , err = os .ReadFile (filepath .Join (tmpdir , "generated_component_test.go" )) //nolint:gosec
221
- require .NoError (t , err )
222
- require .Contains (t , string (contents ), "func Test" )
223
- _ , err = parser .ParseFile (token .NewFileSet (), "" , contents , parser .DeclarationErrors )
259
+ contents , err = os .ReadFile (filepath .Join (tmpdir , "README.md" )) //nolint:gosec
224
260
require .NoError (t , err )
261
+ if tt .wantReadmeGenerated {
262
+ require .NotContains (t , string (contents ), "foo" )
263
+ } else {
264
+ require .Contains (t , string (contents ), "foo" )
265
+ }
266
+
267
+ if tt .wantComponentTestGenerated {
268
+ require .FileExists (t , filepath .Join (tmpdir , "generated_component_test.go" ))
269
+ contents , err = os .ReadFile (filepath .Join (tmpdir , "generated_component_test.go" )) //nolint:gosec
270
+ require .NoError (t , err )
271
+ require .Contains (t , string (contents ), "func Test" )
272
+ _ , err = parser .ParseFile (token .NewFileSet (), "" , contents , parser .DeclarationErrors )
273
+ require .NoError (t , err )
274
+ } else {
275
+ require .NoFileExists (t , filepath .Join (tmpdir , "generated_component_test.go" ))
276
+ }
225
277
226
278
require .FileExists (t , filepath .Join (tmpdir , "generated_package_test.go" ))
227
279
contents , err = os .ReadFile (filepath .Join (tmpdir , "generated_package_test.go" )) //nolint:gosec
0 commit comments