github.com/cilium/cilium@v1.16.2/pkg/source/source_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Cilium
     3  
     4  package source
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestAllowOverwrite(t *testing.T) {
    13  	require.Equal(t, true, AllowOverwrite(Kubernetes, Kubernetes))
    14  	require.Equal(t, true, AllowOverwrite(Kubernetes, CustomResource))
    15  	require.Equal(t, true, AllowOverwrite(Kubernetes, KVStore))
    16  	require.Equal(t, true, AllowOverwrite(Kubernetes, Local))
    17  	require.Equal(t, true, AllowOverwrite(Kubernetes, KubeAPIServer))
    18  	require.Equal(t, false, AllowOverwrite(Kubernetes, ClusterMesh))
    19  	require.Equal(t, false, AllowOverwrite(Kubernetes, LocalAPI))
    20  	require.Equal(t, false, AllowOverwrite(Kubernetes, Generated))
    21  	require.Equal(t, false, AllowOverwrite(Kubernetes, Restored))
    22  	require.Equal(t, false, AllowOverwrite(Kubernetes, Unspec))
    23  
    24  	require.Equal(t, true, AllowOverwrite(CustomResource, CustomResource))
    25  	require.Equal(t, true, AllowOverwrite(CustomResource, KVStore))
    26  	require.Equal(t, true, AllowOverwrite(CustomResource, Local))
    27  	require.Equal(t, true, AllowOverwrite(CustomResource, KubeAPIServer))
    28  	require.Equal(t, false, AllowOverwrite(CustomResource, ClusterMesh))
    29  	require.Equal(t, false, AllowOverwrite(CustomResource, LocalAPI))
    30  	require.Equal(t, false, AllowOverwrite(CustomResource, Kubernetes))
    31  	require.Equal(t, false, AllowOverwrite(CustomResource, Generated))
    32  	require.Equal(t, false, AllowOverwrite(CustomResource, Restored))
    33  	require.Equal(t, false, AllowOverwrite(CustomResource, Unspec))
    34  
    35  	require.Equal(t, false, AllowOverwrite(KVStore, Kubernetes))
    36  	require.Equal(t, false, AllowOverwrite(KVStore, CustomResource))
    37  	require.Equal(t, true, AllowOverwrite(KVStore, KVStore))
    38  	require.Equal(t, true, AllowOverwrite(KVStore, Local))
    39  	require.Equal(t, true, AllowOverwrite(KVStore, KubeAPIServer))
    40  	require.Equal(t, false, AllowOverwrite(KVStore, ClusterMesh))
    41  	require.Equal(t, false, AllowOverwrite(KVStore, LocalAPI))
    42  	require.Equal(t, false, AllowOverwrite(KVStore, Generated))
    43  	require.Equal(t, false, AllowOverwrite(KVStore, Restored))
    44  	require.Equal(t, false, AllowOverwrite(KVStore, Unspec))
    45  
    46  	require.Equal(t, false, AllowOverwrite(Local, Kubernetes))
    47  	require.Equal(t, false, AllowOverwrite(Local, CustomResource))
    48  	require.Equal(t, false, AllowOverwrite(Local, KVStore))
    49  	require.Equal(t, false, AllowOverwrite(Local, Generated))
    50  	require.Equal(t, true, AllowOverwrite(Local, Local))
    51  	require.Equal(t, true, AllowOverwrite(Local, KubeAPIServer))
    52  	require.Equal(t, false, AllowOverwrite(Local, ClusterMesh))
    53  	require.Equal(t, false, AllowOverwrite(Local, LocalAPI))
    54  	require.Equal(t, false, AllowOverwrite(Local, Restored))
    55  	require.Equal(t, false, AllowOverwrite(Local, Unspec))
    56  
    57  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, Kubernetes))
    58  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, CustomResource))
    59  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, KVStore))
    60  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, Generated))
    61  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, Local))
    62  	require.Equal(t, true, AllowOverwrite(KubeAPIServer, KubeAPIServer))
    63  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, ClusterMesh))
    64  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, LocalAPI))
    65  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, Restored))
    66  	require.Equal(t, false, AllowOverwrite(KubeAPIServer, Unspec))
    67  
    68  	require.Equal(t, true, AllowOverwrite(LocalAPI, Kubernetes))
    69  	require.Equal(t, true, AllowOverwrite(LocalAPI, CustomResource))
    70  	require.Equal(t, true, AllowOverwrite(LocalAPI, KVStore))
    71  	require.Equal(t, true, AllowOverwrite(LocalAPI, Local))
    72  	require.Equal(t, true, AllowOverwrite(LocalAPI, KubeAPIServer))
    73  	require.Equal(t, true, AllowOverwrite(LocalAPI, ClusterMesh))
    74  	require.Equal(t, true, AllowOverwrite(LocalAPI, LocalAPI))
    75  	require.Equal(t, false, AllowOverwrite(LocalAPI, Generated))
    76  	require.Equal(t, false, AllowOverwrite(LocalAPI, Restored))
    77  	require.Equal(t, false, AllowOverwrite(LocalAPI, Unspec))
    78  
    79  	require.Equal(t, true, AllowOverwrite(Generated, Kubernetes))
    80  	require.Equal(t, true, AllowOverwrite(Generated, CustomResource))
    81  	require.Equal(t, true, AllowOverwrite(Generated, KVStore))
    82  	require.Equal(t, true, AllowOverwrite(Generated, Local))
    83  	require.Equal(t, true, AllowOverwrite(Generated, KubeAPIServer))
    84  	require.Equal(t, true, AllowOverwrite(Generated, ClusterMesh))
    85  	require.Equal(t, true, AllowOverwrite(Generated, LocalAPI))
    86  	require.Equal(t, true, AllowOverwrite(Generated, Generated))
    87  	require.Equal(t, false, AllowOverwrite(Generated, Restored))
    88  	require.Equal(t, false, AllowOverwrite(Generated, Unspec))
    89  
    90  	require.Equal(t, true, AllowOverwrite(Restored, Kubernetes))
    91  	require.Equal(t, true, AllowOverwrite(Restored, CustomResource))
    92  	require.Equal(t, true, AllowOverwrite(Restored, KVStore))
    93  	require.Equal(t, true, AllowOverwrite(Restored, Local))
    94  	require.Equal(t, true, AllowOverwrite(Restored, KubeAPIServer))
    95  	require.Equal(t, true, AllowOverwrite(Restored, ClusterMesh))
    96  	require.Equal(t, true, AllowOverwrite(Restored, LocalAPI))
    97  	require.Equal(t, true, AllowOverwrite(Restored, Generated))
    98  	require.Equal(t, true, AllowOverwrite(Restored, Restored))
    99  	require.Equal(t, false, AllowOverwrite(Restored, Unspec))
   100  
   101  	require.Equal(t, true, AllowOverwrite(Unspec, Kubernetes))
   102  	require.Equal(t, true, AllowOverwrite(Unspec, CustomResource))
   103  	require.Equal(t, true, AllowOverwrite(Unspec, KVStore))
   104  	require.Equal(t, true, AllowOverwrite(Unspec, Local))
   105  	require.Equal(t, true, AllowOverwrite(Unspec, KubeAPIServer))
   106  	require.Equal(t, true, AllowOverwrite(Unspec, ClusterMesh))
   107  	require.Equal(t, true, AllowOverwrite(Unspec, LocalAPI))
   108  	require.Equal(t, true, AllowOverwrite(Unspec, Generated))
   109  	require.Equal(t, true, AllowOverwrite(Unspec, Restored))
   110  	require.Equal(t, true, AllowOverwrite(Unspec, Unspec))
   111  
   112  	require.Equal(t, true, AllowOverwrite(ClusterMesh, Kubernetes))
   113  	require.Equal(t, true, AllowOverwrite(ClusterMesh, CustomResource))
   114  	require.Equal(t, true, AllowOverwrite(ClusterMesh, KVStore))
   115  	require.Equal(t, true, AllowOverwrite(ClusterMesh, Local))
   116  	require.Equal(t, true, AllowOverwrite(ClusterMesh, KubeAPIServer))
   117  	require.Equal(t, true, AllowOverwrite(ClusterMesh, ClusterMesh))
   118  	require.Equal(t, false, AllowOverwrite(ClusterMesh, LocalAPI))
   119  	require.Equal(t, false, AllowOverwrite(ClusterMesh, Generated))
   120  	require.Equal(t, false, AllowOverwrite(ClusterMesh, Restored))
   121  	require.Equal(t, false, AllowOverwrite(ClusterMesh, Unspec))
   122  }