1
// Copyright (c) 2016-2019 Uber Technologies, Inc.
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
7
// http://www.apache.org/licenses/LICENSE-2.0
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
19
"github.com/stretchr/testify/require"
20
"github.com/uber/kraken/utils/randutil"
23
func TestNewPeerContext(t *testing.T) {
24
require := require.New(t)
26
p := PeerContextFixture()
28
_, err := NewPeerID(p.PeerID.String())
30
require.False(p.Origin)
33
func TestNewOriginPeerContext(t *testing.T) {
34
require := require.New(t)
36
p := OriginContextFixture()
38
_, err := NewPeerID(p.PeerID.String())
40
require.True(p.Origin)
43
func TestNewOriginPeerContextErrors(t *testing.T) {
44
t.Run("empty ip", func(t *testing.T) {
45
require := require.New(t)
47
_, err := NewPeerContext(
48
RandomPeerIDFactory, "zone1", "test01-zone1", "", randutil.Port(), false)
52
t.Run("zero port", func(t *testing.T) {
53
require := require.New(t)
55
_, err := NewPeerContext(
56
RandomPeerIDFactory, "zone1", "test01-zone1", randutil.IP(), 0, false)
60
t.Run("invalid factory", func(t *testing.T) {
61
require := require.New(t)
63
_, err := NewPeerContext(
64
"invalid", "zone1", "test01-zone1", randutil.IP(), randutil.Port(), false)