github.com/cilium/cilium@v1.16.2/pkg/maps/authmap/auth_map_privileged_test.go (about) 1 // SPDX-License-Identifier: Apache-2.0 2 // Copyright Authors of Cilium 3 4 package authmap 5 6 import ( 7 "errors" 8 "testing" 9 10 "github.com/cilium/ebpf/rlimit" 11 "github.com/stretchr/testify/require" 12 13 "github.com/cilium/cilium/pkg/bpf" 14 "github.com/cilium/cilium/pkg/datapath/linux/utime" 15 "github.com/cilium/cilium/pkg/ebpf" 16 "github.com/cilium/cilium/pkg/testutils" 17 ) 18 19 func setup(tb testing.TB) { 20 testutils.PrivilegedTest(tb) 21 22 bpf.CheckOrMountFS("") 23 err := rlimit.RemoveMemlock() 24 require.NoError(tb, err) 25 } 26 27 func TestAuthMap(t *testing.T) { 28 setup(t) 29 authMap := newMap(10) 30 err := authMap.init() 31 require.Nil(t, err) 32 defer authMap.bpfMap.Unpin() 33 34 testKey := AuthKey{ 35 LocalIdentity: 1, 36 RemoteIdentity: 2, 37 RemoteNodeID: 1, 38 AuthType: 1, // policy.AuthTypeNull 39 } 40 41 _, err = authMap.Lookup(testKey) 42 require.Equal(t, true, errors.Is(err, ebpf.ErrKeyNotExist)) 43 44 err = authMap.Update(testKey, 10) 45 require.Nil(t, err) 46 47 info, err := authMap.Lookup(testKey) 48 require.Nil(t, err) 49 require.Equal(t, utime.UTime(10), info.Expiration) 50 51 err = authMap.Update(testKey, 20) 52 require.Nil(t, err) 53 54 info, err = authMap.Lookup(testKey) 55 require.Nil(t, err) 56 require.Equal(t, utime.UTime(20), info.Expiration) 57 58 err = authMap.Delete(testKey) 59 require.Nil(t, err) 60 61 _, err = authMap.Lookup(testKey) 62 require.Equal(t, true, errors.Is(err, ebpf.ErrKeyNotExist)) 63 }