@@ -53,6 +53,10 @@ func TestOffsets(t *testing.T) {
53
53
assert .True (t , ok , "did not get 1.2.1" )
54
54
assert .Equal (t , OffsetKey {Offset : 2 , Valid : true }, off , "invalid value for 1.2.1" )
55
55
56
+ off , ver := o .getLatest ()
57
+ assert .Equal (t , v121 , ver .ToVersion (), "invalid version for latest" )
58
+ assert .Equal (t , OffsetKey {Offset : 2 , Valid : true }, off , "invalid value for latest" )
59
+
56
60
o .Put (v120 , OffsetKey {Offset : 1 , Valid : true })
57
61
off , ok = o .Get (v120 )
58
62
assert .True (t , ok , "did not get 1.2.0 after reset" )
@@ -123,3 +127,21 @@ func TestIndexUnmarshalJSON(t *testing.T) {
123
127
require .NoError (t , json .NewDecoder (f ).Decode (& got ))
124
128
assert .Equal (t , index , & got )
125
129
}
130
+
131
+ func TestGetLatestOffsetFromIndex (t * testing.T ) {
132
+ off , ver := index .GetLatestOffset (NewID ("std" , "net/http" , "Request" , "Method" ))
133
+ assert .Equal (t , v130 , ver , "invalid version for Request.Method" )
134
+ assert .Equal (t , OffsetKey {Offset : 1 , Valid : true }, off , "invalid value for Request.Method" )
135
+
136
+ off , ver = index .GetLatestOffset (NewID ("std" , "net/http" , "Request" , "URL" ))
137
+ assert .Equal (t , v130 , ver , "invalid version for Request.URL" )
138
+ assert .Equal (t , OffsetKey {Offset : 2 , Valid : true }, off , "invalid value for Request.URL" )
139
+
140
+ off , ver = index .GetLatestOffset (NewID ("std" , "net/http" , "Response" , "Status" ))
141
+ assert .Equal (t , v120 , ver , "invalid version for Response.Status" )
142
+ assert .Equal (t , OffsetKey {Offset : 0 , Valid : true }, off , "invalid value for Response.Status" )
143
+
144
+ off , ver = index .GetLatestOffset (NewID ("google.golang.org/grpc" , "google.golang.org/grpc" , "ClientConn" , "target" ))
145
+ assert .Equal (t , v120 , ver , "invalid version for ClientConn.target" )
146
+ assert .Equal (t , OffsetKey {Offset : 0 , Valid : true }, off , "invalid value for ClientConn.target" )
147
+ }
0 commit comments