Files
rvbox/internal/domain/protocol_test.go
T

30 lines
1.1 KiB
Go

package domain
import (
"errors"
"testing"
rvboxv1 "github.com/rvbox/rvbox/gen/go/rvbox/v1"
)
func TestSelectHighestCompatibleProtocol_HP_SES_01(t *testing.T) {
t.Parallel()
version, err := SelectProtocol(&rvboxv1.ProtocolRange{Major: 1, MinMinor: 1, MaxMinor: 5}, &rvboxv1.ProtocolRange{Major: 1, MinMinor: 3, MaxMinor: 7})
if err != nil || version.Major != 1 || version.Minor != 5 {
t.Fatalf("SelectProtocol() = (%+v, %v)", version, err)
}
for _, ranges := range [][2]*rvboxv1.ProtocolRange{
{{Major: 1, MinMinor: 1, MaxMinor: 2}, {Major: 2, MinMinor: 1, MaxMinor: 2}},
{{Major: 1, MinMinor: 3, MaxMinor: 2}, {Major: 1, MinMinor: 1, MaxMinor: 2}},
{{Major: 1, MinMinor: 1, MaxMinor: 2}, {Major: 1, MinMinor: 3, MaxMinor: 4}},
} {
if _, err := SelectProtocol(ranges[0], ranges[1]); !errors.Is(err, ErrNoCompatibleProtocol) {
t.Errorf("SelectProtocol(%+v, %+v) error = %v", ranges[0], ranges[1], err)
}
}
if _, err := SelectProtocol(nil, &rvboxv1.ProtocolRange{Major: 1}); !errors.Is(err, ErrNoCompatibleProtocol) {
t.Fatalf("nil protocol range error = %v", err)
}
}