@@ -37,7 +37,9 @@ func TestRunContents(t *testing.T) {
3737 wantConfigGenerated bool
3838 wantTelemetryGenerated bool
3939 wantResourceAttributesGenerated bool
40+ wantReadmeGenerated bool
4041 wantStatusGenerated bool
42+ wantComponentTestGenerated bool
4143 wantGoleakIgnore bool
4244 wantGoleakSkip bool
4345 wantGoleakSetup bool
@@ -49,89 +51,131 @@ func TestRunContents(t *testing.T) {
4951 wantErr : true ,
5052 },
5153 {
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 ,
5566 },
5667 {
57- yml : "basic_receiver .yaml" ,
68+ yml : "basic_pkg .yaml" ,
5869 wantErr : false ,
59- wantStatusGenerated : true ,
70+ wantStatusGenerated : false ,
71+ wantReadmeGenerated : true ,
6072 },
6173 {
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 ,
6680 },
6781 {
6882 yml : "resource_attributes_only.yaml" ,
6983 wantConfigGenerated : true ,
7084 wantStatusGenerated : true ,
7185 wantResourceAttributesGenerated : true ,
86+ wantReadmeGenerated : true ,
87+ wantComponentTestGenerated : true ,
7288 },
7389 {
74- yml : "status_only.yaml" ,
75- wantStatusGenerated : true ,
90+ yml : "status_only.yaml" ,
91+ wantStatusGenerated : true ,
92+ wantReadmeGenerated : true ,
93+ wantComponentTestGenerated : true ,
7694 },
7795 {
78- yml : "with_tests_receiver.yaml" ,
79- wantStatusGenerated : true ,
96+ yml : "with_tests_receiver.yaml" ,
97+ wantStatusGenerated : true ,
98+ wantReadmeGenerated : true ,
99+ wantComponentTestGenerated : true ,
80100 },
81101 {
82- yml : "with_tests_exporter.yaml" ,
83- wantStatusGenerated : true ,
102+ yml : "with_tests_exporter.yaml" ,
103+ wantStatusGenerated : true ,
104+ wantReadmeGenerated : true ,
105+ wantComponentTestGenerated : true ,
84106 },
85107 {
86- yml : "with_tests_processor.yaml" ,
87- wantStatusGenerated : true ,
108+ yml : "with_tests_processor.yaml" ,
109+ wantStatusGenerated : true ,
110+ wantReadmeGenerated : true ,
111+ wantComponentTestGenerated : true ,
88112 },
89113 {
90- yml : "with_tests_extension.yaml" ,
91- wantStatusGenerated : true ,
114+ yml : "with_tests_extension.yaml" ,
115+ wantStatusGenerated : true ,
116+ wantReadmeGenerated : true ,
117+ wantComponentTestGenerated : true ,
92118 },
93119 {
94- yml : "with_tests_connector.yaml" ,
95- wantStatusGenerated : true ,
120+ yml : "with_tests_connector.yaml" ,
121+ wantStatusGenerated : true ,
122+ wantReadmeGenerated : true ,
123+ wantComponentTestGenerated : true ,
96124 },
97125 {
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 ,
101131 },
102132 {
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 ,
106138 },
107139 {
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 ,
111145 },
112146 {
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 ,
116152 },
117153 {
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 ,
121159 },
122160 {
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 ,
125165 },
126166 {
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 ,
131173 },
132174 {
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 ,
135179 },
136180 }
137181 for _ , tt := range tests {
@@ -147,17 +191,20 @@ func TestRunContents(t *testing.T) {
147191<!-- status autogenerated section -->
148192foo
149193<!-- end autogenerated section -->` ), 0o600 ))
150-
151- err = run (metadataFile )
194+ md , err := LoadMetadata (metadataFile )
152195 if tt .wantErr {
153196 require .Error (t , err )
154197 return
155198 }
156199 require .NoError (t , err )
200+ generatedPackageDir := filepath .Join ("internal" , md .GeneratedPackageName )
201+ require .NoError (t , os .MkdirAll (filepath .Join (tmpdir , generatedPackageDir ), 0o755 ))
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 ))
157205
158- md , err := LoadMetadata (metadataFile )
206+ err = run (metadataFile )
159207 require .NoError (t , err )
160- generatedPackageDir := filepath .Join ("internal" , md .GeneratedPackageName )
161208
162209 var contents []byte
163210 if tt .wantMetricsGenerated {
197244 }
198245 } else {
199246 require .NoFileExists (t , filepath .Join (tmpdir , generatedPackageDir , "generated_telemetry.go" ))
200- require .NoFileExists (t , filepath .Join (tmpdir , generatedPackageDir , "generated_telemetry_test.go" ))
201247 }
202248
203249 if ! tt .wantMetricsGenerated && ! tt .wantTelemetryGenerated && ! tt .wantResourceAttributesGenerated {
@@ -206,22 +252,28 @@ foo
206252
207253 if tt .wantStatusGenerated {
208254 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" )
212255 } else {
213256 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" )
217257 }
218258
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
224260 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+ }
225277
226278 require .FileExists (t , filepath .Join (tmpdir , "generated_package_test.go" ))
227279 contents , err = os .ReadFile (filepath .Join (tmpdir , "generated_package_test.go" )) //nolint:gosec
0 commit comments