-
Notifications
You must be signed in to change notification settings - Fork 227
/
Copy pathmemcache_test.go
79 lines (70 loc) · 2.17 KB
/
memcache_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//: ----------------------------------------------------------------------------
//: Copyright (C) 2017 Verizon. All Rights Reserved.
//: All Rights Reserved
//:
//: file: memcache_test.go
//: details: memory template cache testing
//: author: Mehrdad Arshad Rad
//: date: 02/01/2017
//:
//: Licensed under the Apache License, Version 2.0 (the "License");
//: you may not use this file except in compliance with the License.
//: You may obtain a copy of the License at
//:
//: http://www.apache.org/licenses/LICENSE-2.0
//:
//: Unless required by applicable law or agreed to in writing, software
//: distributed under the License is distributed on an "AS IS" BASIS,
//: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//: See the License for the specific language governing permissions and
//: limitations under the License.
//: ----------------------------------------------------------------------------
package ipfix
import (
"net"
"reflect"
"testing"
)
func TestMemCacheRetrieve(t *testing.T) {
ip := net.ParseIP("127.0.0.1")
mCache := GetCache("cache.file")
d := NewDecoder(ip, tpl)
d.Decode(mCache)
v, ok := mCache.retrieve(256, ip)
if !ok {
t.Error("expected mCache retrieve status true, got", ok)
}
if v.TemplateID != 256 {
t.Error("expected template id#:256, got", v.TemplateID)
}
}
func TestMemCacheInsert(t *testing.T) {
var tpl TemplateRecord
ip := net.ParseIP("127.0.0.1")
mCache := GetCache("cache.file")
tpl.TemplateID = 310
mCache.insert(310, ip, tpl)
v, ok := mCache.retrieve(310, ip)
if !ok {
t.Error("expected mCache retrieve status true, got", ok)
}
if v.TemplateID != 310 {
t.Error("expected template id#:310, got", v.TemplateID)
}
}
func TestMemCacheAllSetIds(t *testing.T) {
var tpl TemplateRecord
ip := net.ParseIP("127.0.0.1")
mCache := GetCache("cache.file")
tpl.TemplateID = 310
mCache.insert(tpl.TemplateID, ip, tpl)
tpl.TemplateID = 410
mCache.insert(tpl.TemplateID, ip, tpl)
tpl.TemplateID = 210
mCache.insert(tpl.TemplateID, ip, tpl)
expected := []int{210, 310, 410}
actual := mCache.allSetIds()
if !reflect.DeepEqual(expected, actual) {
t.Errorf("Expected set IDs %v, got %v", expected, actual)
}
}