(t *testing.T)
| 75 | } |
| 76 | |
| 77 | func TestRPCVersionIsCompatibleWith(t *testing.T) { |
| 78 | t.Parallel() |
| 79 | cases := []struct { |
| 80 | name string |
| 81 | v1 vpn.RPCVersion |
| 82 | v2 vpn.RPCVersion |
| 83 | want vpn.RPCVersion |
| 84 | wantBool bool |
| 85 | }{ |
| 86 | { |
| 87 | name: "same version", |
| 88 | v1: vpn.RPCVersion{Major: 1, Minor: 0}, |
| 89 | v2: vpn.RPCVersion{Major: 1, Minor: 0}, |
| 90 | want: vpn.RPCVersion{Major: 1, Minor: 0}, |
| 91 | }, |
| 92 | { |
| 93 | name: "compatible minor versions", |
| 94 | v1: vpn.RPCVersion{Major: 1, Minor: 2}, |
| 95 | v2: vpn.RPCVersion{Major: 1, Minor: 3}, |
| 96 | want: vpn.RPCVersion{Major: 1, Minor: 2}, |
| 97 | }, |
| 98 | { |
| 99 | name: "incompatible major versions", |
| 100 | v1: vpn.RPCVersion{Major: 1, Minor: 0}, |
| 101 | v2: vpn.RPCVersion{Major: 2, Minor: 0}, |
| 102 | want: vpn.RPCVersion{}, |
| 103 | }, |
| 104 | } |
| 105 | |
| 106 | // nolint:paralleltest |
| 107 | for _, tc := range cases { |
| 108 | t.Run(tc.name, func(t *testing.T) { |
| 109 | t.Parallel() |
| 110 | got, ok := tc.v1.IsCompatibleWith(tc.v2) |
| 111 | if tc.want.Major == 0 { |
| 112 | require.False(t, ok) |
| 113 | return |
| 114 | } |
| 115 | require.True(t, ok) |
| 116 | require.Equal(t, got, tc.want) |
| 117 | }) |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | func TestRPCVersionListParseString(t *testing.T) { |
| 122 | t.Parallel() |
nothing calls this directly
no test coverage detected