Skip to content

Commit d3a0c08

Browse files
committed
Also check for length
1 parent 3b039de commit d3a0c08

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

service/service.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ func (s *Service) Setup() error {
104104
}
105105
deviceAddress = fmt.Sprintf("d:_%s:%s_%s%s", vendorType, vendor, sd.DeviceModel(), serial)
106106

107+
if len(deviceAddress) > 256 {
108+
return fmt.Errorf("generated device address may not be longer than 256 characters: %s", deviceAddress)
109+
}
110+
107111
// Create the local SPINE device
108112
s.spineLocalDevice = spine.NewDeviceLocal(
109113
sd.DeviceBrand(),

service/service_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,3 +209,28 @@ func (s *ServiceSuite) Test_Setup_IANA() {
209209
device := s.sut.LocalDevice()
210210
assert.NotNil(s.T(), device)
211211
}
212+
213+
func (s *ServiceSuite) Test_Setup_Error_DeviceName() {
214+
var err error
215+
certificate := tls.Certificate{}
216+
s.config, err = api.NewConfiguration(
217+
"1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890",
218+
"brand",
219+
"modelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodelmodel",
220+
"serialserialserialserialserialserialserialserialserialserialserialserialserialserialserialserialserial",
221+
model.DeviceTypeTypeEnergyManagementSystem,
222+
[]model.EntityTypeType{model.EntityTypeTypeCEM}, 4729, certificate, 230.0, time.Second*4)
223+
assert.Nil(s.T(), nil, err)
224+
225+
s.sut = NewService(s.config, s.serviceReader)
226+
227+
err = s.sut.Setup()
228+
assert.NotNil(s.T(), err)
229+
230+
certificate, err = cert.CreateCertificate("unit", "org", "de", "cn")
231+
assert.Nil(s.T(), err)
232+
s.config.SetCertificate(certificate)
233+
234+
err = s.sut.Setup()
235+
assert.NotNil(s.T(), err)
236+
}

0 commit comments

Comments
 (0)