feat: add protocol and reconciliation decisions
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user