58 lines
832 B
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package protocolversion
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestParseHeader(t *testing.T) {
cases := []struct {
Name string
Input string
Err string
Min, Current uint32
}{
{
"blank",
"",
"must be formatted",
0, 0,
},
{
"correct",
"1,2",
"",
1, 2,
},
{
"incomplete",
"1,",
"formatted",
0, 0,
},
}
for _, tt := range cases {
t.Run(tt.Name, func(t *testing.T) {
require := require.New(t)
min, current, err := ParseHeader(tt.Input)
if tt.Err != "" {
require.Error(err)
require.Contains(err.Error(), tt.Err)
return
}
require.NoError(err)
require.Equal(tt.Min, min)
require.Equal(tt.Current, current)
})
}
}