@@ -33,7 +33,6 @@ func TestEnsurePlatformInstalled(t *testing.T) {
3333}
3434
3535func TestSetSerialNumber (t * testing.T ) {
36-
3736 testCases := []struct {
3837 name string
3938 initialContent string
@@ -58,14 +57,6 @@ func TestSetSerialNumber(t *testing.T) {
5857<type>_arduino._tcp</type>
5958<port>80</port>
6059<txt-record>board=unoq</txt-record>
61- <txt-record>vid=0x2341</txt-record>
62- <txt-record>pid=0x0078</txt-record>
63- <txt-record>vid.0=0x2341</txt-record>
64- <txt-record>pid.0=0x0078</txt-record>
65- <txt-record>distro_version=0.1</txt-record>
66- <txt-record>ssh_upload=no</txt-record>
67- <txt-record>tcp_check=no</txt-record>
68- <txt-record>auth_upload=yes</txt-record>
6960</service>
7061</service-group>
7162` ,
@@ -79,14 +70,6 @@ func TestSetSerialNumber(t *testing.T) {
7970<type>_arduino._tcp</type>
8071<port>80</port>
8172<txt-record>board=unoq</txt-record>
82- <txt-record>vid=0x2341</txt-record>
83- <txt-record>pid=0x0078</txt-record>
84- <txt-record>vid.0=0x2341</txt-record>
85- <txt-record>pid.0=0x0078</txt-record>
86- <txt-record>distro_version=0.1</txt-record>
87- <txt-record>ssh_upload=no</txt-record>
88- <txt-record>tcp_check=no</txt-record>
89- <txt-record>auth_upload=yes</txt-record>
9073<txt-record>serial_number=123456789</txt-record>
9174</service>
9275</service-group>
@@ -95,60 +78,30 @@ func TestSetSerialNumber(t *testing.T) {
9578 {
9679 name : "serial number not provided" ,
9780 initialContent : `<?xml version="1.0" standalone='no'?>
98- <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
9981<service-group>
100- <name replace-wildcards="yes">%h</name>
10182<service>
102- <type>_arduino._tcp</type>
103- <port>80</port>
10483<txt-record>board=unoq</txt-record>
10584</service>
10685</service-group>
10786` ,
10887 serialNumber : "" ,
10988 expectedErr : true ,
110- expectedContent : `` ,
89+ expectedContent : "" ,
11190 },
11291 {
11392 name : "serial number already present" ,
11493 initialContent : `<?xml version="1.0" standalone='no'?>
115- <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
11694<service-group>
117- <name replace-wildcards="yes">%h</name>
11895<service>
119- <type>_arduino._tcp</type>
120- <port>80</port>
121- <txt-record>board=unoq</txt-record>
122- <txt-record>vid=0x2341</txt-record>
123- <txt-record>pid=0x0078</txt-record>
124- <txt-record>vid.0=0x2341</txt-record>
125- <txt-record>pid.0=0x0078</txt-record>
126- <txt-record>distro_version=0.1</txt-record>
127- <txt-record>ssh_upload=no</txt-record>
128- <txt-record>tcp_check=no</txt-record>
129- <txt-record>auth_upload=yes</txt-record>
13096<txt-record>serial_number=123456789</txt-record>
13197</service>
13298</service-group>
13399` ,
134100 serialNumber : "111111111" ,
135101 expectedErr : false ,
136102 expectedContent : `<?xml version="1.0" standalone='no'?>
137- <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
138103<service-group>
139- <name replace-wildcards="yes">%h</name>
140104<service>
141- <type>_arduino._tcp</type>
142- <port>80</port>
143- <txt-record>board=unoq</txt-record>
144- <txt-record>vid=0x2341</txt-record>
145- <txt-record>pid=0x0078</txt-record>
146- <txt-record>vid.0=0x2341</txt-record>
147- <txt-record>pid.0=0x0078</txt-record>
148- <txt-record>distro_version=0.1</txt-record>
149- <txt-record>ssh_upload=no</txt-record>
150- <txt-record>tcp_check=no</txt-record>
151- <txt-record>auth_upload=yes</txt-record>
152105<txt-record>serial_number=123456789</txt-record>
153106</service>
154107</service-group>
@@ -157,12 +110,8 @@ func TestSetSerialNumber(t *testing.T) {
157110 {
158111 name : "missing service tag" ,
159112 initialContent : `<?xml version="1.0" standalone='no'?>
160- <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
161113<service-group>
162- <name replace-wildcards="yes">%h</name>
163- <service>
164- <type>_arduino._tcp</type>
165- <port>80</port>
114+ </service-group>
166115` ,
167116 serialNumber : "111111111" ,
168117 expectedErr : true ,
@@ -172,33 +121,22 @@ func TestSetSerialNumber(t *testing.T) {
172121
173122 for _ , tc := range testCases {
174123 t .Run (tc .name , func (t * testing.T ) {
175- tmpFile , err := os .CreateTemp ("" , "arduino.service.*.xml" )
176- require .NoError (t , err )
177- filePath := tmpFile .Name ()
178- defer os .Remove (filePath )
179-
180- if tc .initialContent != "" {
181- _ , err = tmpFile .WriteString (tc .initialContent )
182- require .NoError (t , err )
183- }
184- tmpFile .Close ()
185-
186- if tc .initialContent == "" {
187- err = os .Remove (filePath )
188- require .NoError (t , err )
189- err = setSerialNumber (tc .serialNumber , filePath )
190- require .NoError (t , err )
124+ if tc .name == "Non-existing file" {
125+ t .Skip ("Skipping test case handled by setSerialNumber (os.IsNotExist)" )
191126 return
192127 }
128+ updatedContent , err := setSerialNumberContent ([]byte (tc .initialContent ), tc .serialNumber )
193129
194- err = setSerialNumber (tc .serialNumber , filePath )
195130 if tc .expectedErr {
196131 require .Error (t , err )
197132 } else {
198133 require .NoError (t , err )
199- updatedContent , err := os .ReadFile (filePath )
200- require .NoError (t , err )
201- require .Equal (t , tc .expectedContent , string (updatedContent ))
134+
135+ if tc .name == "serial number already present" {
136+ require .Nil (t , updatedContent , "Content should be nil when serial is already present" )
137+ } else {
138+ require .Equal (t , tc .expectedContent , string (updatedContent ))
139+ }
202140 }
203141 })
204142 }
0 commit comments