github.com/cilium/cilium@v1.16.2/pkg/endpointmanager/errors_test.go (about)

     1  // SPDX-License-Identifier: Apache-2.0
     2  // Copyright Authors of Cilium
     3  
     4  package endpointmanager
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/require"
    10  )
    11  
    12  func TestErrInvalidPrefix_Error(t *testing.T) {
    13  	setupEndpointManagerSuite(t)
    14  
    15  	type args struct {
    16  		err ErrInvalidPrefix
    17  	}
    18  	type want struct {
    19  		errMsg string
    20  	}
    21  	tests := []struct {
    22  		name      string
    23  		setupArgs func() args
    24  		setupWant func() want
    25  	}{
    26  		{
    27  			name: "random Invalid Prefix",
    28  			setupArgs: func() args {
    29  				return args{
    30  					err: ErrInvalidPrefix{
    31  						InvalidPrefix: "foo",
    32  					},
    33  				}
    34  			},
    35  			setupWant: func() want {
    36  				return want{
    37  					errMsg: "unknown endpoint prefix 'foo'",
    38  				}
    39  			},
    40  		},
    41  	}
    42  	for _, tt := range tests {
    43  		args := tt.setupArgs()
    44  		want := tt.setupWant()
    45  		errMsg := args.err.Error()
    46  		require.Equalf(t, want.errMsg, errMsg, "Test Name: %s", tt.name)
    47  	}
    48  }
    49  
    50  func TestIsErrUnsupportedID(t *testing.T) {
    51  	setupEndpointManagerSuite(t)
    52  
    53  	type args struct {
    54  		err error
    55  	}
    56  	type want struct {
    57  		bool bool
    58  	}
    59  	tests := []struct {
    60  		name      string
    61  		setupArgs func() args
    62  		setupWant func() want
    63  	}{
    64  		{
    65  			name: "is not invalid prefix error",
    66  			setupArgs: func() args {
    67  				return args{
    68  					err: ErrUnsupportedID,
    69  				}
    70  			},
    71  			setupWant: func() want {
    72  				return want{
    73  					bool: false,
    74  				}
    75  			},
    76  		},
    77  		{
    78  			name: "is invalid prefix error",
    79  			setupArgs: func() args {
    80  				return args{
    81  					err: ErrInvalidPrefix{
    82  						InvalidPrefix: "foo",
    83  					},
    84  				}
    85  			},
    86  			setupWant: func() want {
    87  				return want{
    88  					bool: true,
    89  				}
    90  			},
    91  		},
    92  	}
    93  	for _, tt := range tests {
    94  		args := tt.setupArgs()
    95  		want := tt.setupWant()
    96  		errMsg := IsErrInvalidPrefix(args.err)
    97  		require.Equalf(t, want.bool, errMsg, "Test Name: %s", tt.name)
    98  	}
    99  }
   100  
   101  func TestIsErrInvalidPrefix(t *testing.T) {
   102  	setupEndpointManagerSuite(t)
   103  
   104  	type args struct {
   105  		err error
   106  	}
   107  	type want struct {
   108  		bool bool
   109  	}
   110  	tests := []struct {
   111  		name      string
   112  		setupArgs func() args
   113  		setupWant func() want
   114  	}{
   115  		{
   116  			name: "is not unsupported ID error",
   117  			setupArgs: func() args {
   118  				return args{
   119  					err: ErrInvalidPrefix{
   120  						InvalidPrefix: "foo",
   121  					},
   122  				}
   123  			},
   124  			setupWant: func() want {
   125  				return want{
   126  					bool: false,
   127  				}
   128  			},
   129  		},
   130  		{
   131  			name: "is unsupported ID error",
   132  			setupArgs: func() args {
   133  				return args{
   134  					err: ErrUnsupportedID,
   135  				}
   136  			},
   137  			setupWant: func() want {
   138  				return want{
   139  					bool: true,
   140  				}
   141  			},
   142  		},
   143  	}
   144  	for _, tt := range tests {
   145  		args := tt.setupArgs()
   146  		want := tt.setupWant()
   147  		errMsg := IsErrUnsupportedID(args.err)
   148  		require.Equalf(t, want.bool, errMsg, "Test Name: %s", tt.name)
   149  	}
   150  }