@@ -2,10 +2,15 @@ package handler
2
2
3
3
import (
4
4
"net"
5
+ "reflect"
6
+ "sort"
5
7
"testing"
8
+ "time"
6
9
7
10
"github.com/google/gopacket/routing"
8
11
"github.com/libp2p/go-netroute"
12
+ v1 "k8s.io/api/core/v1"
13
+ metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
9
14
)
10
15
11
16
func TestRoute (t * testing.T ) {
@@ -149,3 +154,47 @@ func TestRemoveCIDRsContainingIPs(t *testing.T) {
149
154
})
150
155
}
151
156
}
157
+
158
+ func TestSort (t * testing.T ) {
159
+ list := v1.PodList {
160
+ Items : []v1.Pod {
161
+ {
162
+ ObjectMeta : metav1.ObjectMeta {
163
+ Name : "a" ,
164
+ DeletionTimestamp : nil ,
165
+ },
166
+ },
167
+ {
168
+ ObjectMeta : metav1.ObjectMeta {
169
+ Name : "b" ,
170
+ DeletionTimestamp : & metav1.Time {
171
+ Time : time .Now (),
172
+ },
173
+ },
174
+ },
175
+ {
176
+ ObjectMeta : metav1.ObjectMeta {
177
+ Name : "c" ,
178
+ DeletionTimestamp : nil ,
179
+ },
180
+ },
181
+ {
182
+ ObjectMeta : metav1.ObjectMeta {
183
+ Name : "d" ,
184
+ DeletionTimestamp : nil ,
185
+ },
186
+ },
187
+ },
188
+ }
189
+ sort .SliceStable (list .Items , func (i , j int ) bool {
190
+ return list .Items [i ].DeletionTimestamp != nil
191
+ })
192
+ var names []string
193
+ for _ , item := range list .Items {
194
+ names = append (names , item .Name )
195
+ }
196
+ equal := reflect .DeepEqual (names , []string {"b" , "a" , "c" , "d" })
197
+ if ! equal {
198
+ t .Fatal ()
199
+ }
200
+ }
0 commit comments