@@ -14,6 +14,13 @@ import (
14
14
"go.viam.com/rdk/testutils/inject"
15
15
)
16
16
17
+ var (
18
+ errPositionUnavailable = errors .New ("position unavailable" )
19
+ errSetToZeroFailed = errors .New ("set to zero failed" )
20
+ errPropertiesNotFound = errors .New ("properties not found" )
21
+ errGetPropertiesFailed = errors .New ("get properties failed" )
22
+ )
23
+
17
24
func newServer () (pb.EncoderServiceServer , * inject.Encoder , * inject.Encoder , error ) {
18
25
injectEncoder1 := & inject.Encoder {}
19
26
injectEncoder2 := & inject.Encoder {}
@@ -38,18 +45,21 @@ func TestServerGetPosition(t *testing.T) {
38
45
resp , err := encoderServer .GetPosition (context .Background (), & req )
39
46
test .That (t , resp , test .ShouldBeNil )
40
47
test .That (t , err , test .ShouldNotBeNil )
48
+ test .That (t , resource .IsNotFoundError (err ), test .ShouldBeTrue )
41
49
42
50
failingEncoder .PositionFunc = func (
43
51
ctx context.Context ,
44
52
positionType encoder.PositionType ,
45
53
extra map [string ]interface {},
46
54
) (float64 , encoder.PositionType , error ) {
47
- return 0 , encoder .PositionTypeUnspecified , errors . New ( "position unavailable" )
55
+ return 0 , encoder .PositionTypeUnspecified , errPositionUnavailable
48
56
}
57
+
58
+ // Position unavailable test
49
59
req = pb.GetPositionRequest {Name : failEncoderName }
50
60
resp , err = encoderServer .GetPosition (context .Background (), & req )
51
61
test .That (t , resp , test .ShouldBeNil )
52
- test .That (t , err , test .ShouldNotBeNil )
62
+ test .That (t , err , test .ShouldBeError , errPositionUnavailable )
53
63
54
64
workingEncoder .PositionFunc = func (
55
65
ctx context.Context ,
@@ -74,12 +84,13 @@ func TestServerResetPosition(t *testing.T) {
74
84
test .That (t , err , test .ShouldNotBeNil )
75
85
76
86
failingEncoder .ResetPositionFunc = func (ctx context.Context , extra map [string ]interface {}) error {
77
- return errors . New ( "set to zero failed" )
87
+ return errSetToZeroFailed
78
88
}
79
89
req = pb.ResetPositionRequest {Name : failEncoderName }
80
90
resp , err = encoderServer .ResetPosition (context .Background (), & req )
81
91
test .That (t , resp , test .ShouldNotBeNil )
82
92
test .That (t , err , test .ShouldNotBeNil )
93
+ test .That (t , err , test .ShouldBeError , errSetToZeroFailed )
83
94
84
95
workingEncoder .ResetPositionFunc = func (ctx context.Context , extra map [string ]interface {}) error {
85
96
return nil
@@ -99,18 +110,19 @@ func TestServerGetProperties(t *testing.T) {
99
110
test .That (t , resp , test .ShouldBeNil )
100
111
test .That (t , err , test .ShouldNotBeNil )
101
112
102
- failingEncoder .PropertiesFunc = func (ctx context.Context , extra map [string ]interface {}) (map [ encoder.Feature ] bool , error ) {
103
- return nil , errors . New ( "properties not found" )
113
+ failingEncoder .PropertiesFunc = func (ctx context.Context , extra map [string ]interface {}) (encoder.Properties , error ) {
114
+ return encoder. Properties {}, errPropertiesNotFound
104
115
}
105
116
req = pb.GetPropertiesRequest {Name : failEncoderName }
106
117
resp , err = encoderServer .GetProperties (context .Background (), & req )
107
118
test .That (t , resp , test .ShouldBeNil )
108
119
test .That (t , err , test .ShouldNotBeNil )
120
+ test .That (t , err , test .ShouldBeError , errPropertiesNotFound )
109
121
110
- workingEncoder .PropertiesFunc = func (ctx context.Context , extra map [string ]interface {}) (map [ encoder.Feature ] bool , error ) {
111
- return map [ encoder.Feature ] bool {
112
- encoder . TicksCountSupported : true ,
113
- encoder . AngleDegreesSupported : false ,
122
+ workingEncoder .PropertiesFunc = func (ctx context.Context , extra map [string ]interface {}) (encoder.Properties , error ) {
123
+ return encoder.Properties {
124
+ TicksCountSupported : true ,
125
+ AngleDegreesSupported : false ,
114
126
}, nil
115
127
}
116
128
req = pb.GetPropertiesRequest {Name : testEncoderName }
0 commit comments