Skip to content
This repository was archived by the owner on Jun 29, 2024. It is now read-only.

Commit 2bafe21

Browse files
committed
Fix tests
1 parent fe2ff2f commit 2bafe21

File tree

4 files changed

+98
-0
lines changed

4 files changed

+98
-0
lines changed

uclpcserver/public_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ func (s *UCLPCServerSuite) Test_PendingConsumptionLimits() {
5151
},
5252
},
5353
},
54+
DeviceRemote: s.remoteDevice,
55+
EntityRemote: s.monitoredEntity,
5456
}
5557

5658
s.sut.loadControlWriteCB(msg)

uclpcserver/uclpc_test.go

+2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ func (s *UCLPCServerSuite) Test_loadControlWriteCB() {
2121
Cmd: model.CmdType{
2222
LoadControlLimitListData: &model.LoadControlLimitListDataType{},
2323
},
24+
DeviceRemote: s.remoteDevice,
25+
EntityRemote: s.monitoredEntity,
2426
}
2527

2628
s.sut.loadControlWriteCB(msg)

uclppserver/public_test.go

+39
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import (
44
"time"
55

66
"github.com/enbility/cemd/api"
7+
eebusutil "github.com/enbility/eebus-go/util"
8+
spineapi "github.com/enbility/spine-go/api"
9+
"github.com/enbility/spine-go/model"
710
"github.com/stretchr/testify/assert"
811
)
912

@@ -26,6 +29,42 @@ func (s *UCLPPServerSuite) Test_LoadControlLimit() {
2629
assert.Nil(s.T(), err)
2730
}
2831

32+
func (s *UCLPPServerSuite) Test_PendingProductionLimits() {
33+
data := s.sut.PendingProductionLimits()
34+
assert.Equal(s.T(), 0, len(data))
35+
36+
msgCounter := model.MsgCounterType(500)
37+
38+
msg := &spineapi.Message{
39+
RequestHeader: &model.HeaderType{
40+
MsgCounter: eebusutil.Ptr(msgCounter),
41+
},
42+
Cmd: model.CmdType{
43+
LoadControlLimitListData: &model.LoadControlLimitListDataType{
44+
LoadControlLimitData: []model.LoadControlLimitDataType{
45+
{
46+
LimitId: eebusutil.Ptr(model.LoadControlLimitIdType(0)),
47+
IsLimitActive: eebusutil.Ptr(true),
48+
Value: model.NewScaledNumberType(1000),
49+
TimePeriod: model.NewTimePeriodTypeWithRelativeEndTime(time.Minute * 2),
50+
},
51+
},
52+
},
53+
},
54+
DeviceRemote: s.remoteDevice,
55+
EntityRemote: s.monitoredEntity,
56+
}
57+
58+
s.sut.loadControlWriteCB(msg)
59+
60+
data = s.sut.PendingProductionLimits()
61+
assert.Equal(s.T(), 1, len(data))
62+
63+
s.sut.ApproveOrDenyProductionLimit(model.MsgCounterType(499), true, "")
64+
65+
s.sut.ApproveOrDenyProductionLimit(msgCounter, false, "leave me alone")
66+
}
67+
2968
func (s *UCLPPServerSuite) Test_Failsafe() {
3069
limit, changeable, err := s.sut.FailsafeProductionActivePowerLimit()
3170
assert.Equal(s.T(), 0.0, limit)

uclppserver/uclpp_test.go

+55
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,66 @@
11
package uclppserver
22

33
import (
4+
"time"
5+
46
eebusutil "github.com/enbility/eebus-go/util"
7+
spineapi "github.com/enbility/spine-go/api"
58
"github.com/enbility/spine-go/model"
69
"github.com/stretchr/testify/assert"
710
)
811

12+
func (s *UCLPPServerSuite) Test_loadControlWriteCB() {
13+
msg := &spineapi.Message{}
14+
15+
s.sut.loadControlWriteCB(msg)
16+
17+
msg = &spineapi.Message{
18+
RequestHeader: &model.HeaderType{
19+
MsgCounter: eebusutil.Ptr(model.MsgCounterType(500)),
20+
},
21+
Cmd: model.CmdType{
22+
LoadControlLimitListData: &model.LoadControlLimitListDataType{},
23+
},
24+
DeviceRemote: s.remoteDevice,
25+
EntityRemote: s.monitoredEntity,
26+
}
27+
28+
s.sut.loadControlWriteCB(msg)
29+
30+
msg.Cmd = model.CmdType{
31+
LoadControlLimitListData: &model.LoadControlLimitListDataType{
32+
LoadControlLimitData: []model.LoadControlLimitDataType{},
33+
},
34+
}
35+
36+
s.sut.loadControlWriteCB(msg)
37+
38+
msg.Cmd = model.CmdType{
39+
LoadControlLimitListData: &model.LoadControlLimitListDataType{
40+
LoadControlLimitData: []model.LoadControlLimitDataType{
41+
{},
42+
},
43+
},
44+
}
45+
46+
s.sut.loadControlWriteCB(msg)
47+
48+
msg.Cmd = model.CmdType{
49+
LoadControlLimitListData: &model.LoadControlLimitListDataType{
50+
LoadControlLimitData: []model.LoadControlLimitDataType{
51+
{
52+
LimitId: eebusutil.Ptr(model.LoadControlLimitIdType(0)),
53+
IsLimitActive: eebusutil.Ptr(true),
54+
Value: model.NewScaledNumberType(1000),
55+
TimePeriod: model.NewTimePeriodTypeWithRelativeEndTime(time.Minute * 2),
56+
},
57+
},
58+
},
59+
}
60+
61+
s.sut.loadControlWriteCB(msg)
62+
}
63+
964
func (s *UCLPPServerSuite) Test_UpdateUseCaseAvailability() {
1065
s.sut.UpdateUseCaseAvailability(true)
1166
}

0 commit comments

Comments
 (0)