github.com/uber/kraken@v0.1.4/core/peer_context_test.go (about)

     1  // Copyright (c) 2016-2019 Uber Technologies, Inc.
     2  //
     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
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     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.
    14  package core
    15  
    16  import (
    17  	"testing"
    18  
    19  	"github.com/stretchr/testify/require"
    20  	"github.com/uber/kraken/utils/randutil"
    21  )
    22  
    23  func TestNewPeerContext(t *testing.T) {
    24  	require := require.New(t)
    25  
    26  	p := PeerContextFixture()
    27  
    28  	_, err := NewPeerID(p.PeerID.String())
    29  	require.NoError(err)
    30  	require.False(p.Origin)
    31  }
    32  
    33  func TestNewOriginPeerContext(t *testing.T) {
    34  	require := require.New(t)
    35  
    36  	p := OriginContextFixture()
    37  
    38  	_, err := NewPeerID(p.PeerID.String())
    39  	require.NoError(err)
    40  	require.True(p.Origin)
    41  }
    42  
    43  func TestNewOriginPeerContextErrors(t *testing.T) {
    44  	t.Run("empty ip", func(t *testing.T) {
    45  		require := require.New(t)
    46  
    47  		_, err := NewPeerContext(
    48  			RandomPeerIDFactory, "zone1", "test01-zone1", "", randutil.Port(), false)
    49  		require.Error(err)
    50  	})
    51  
    52  	t.Run("zero port", func(t *testing.T) {
    53  		require := require.New(t)
    54  
    55  		_, err := NewPeerContext(
    56  			RandomPeerIDFactory, "zone1", "test01-zone1", randutil.IP(), 0, false)
    57  		require.Error(err)
    58  	})
    59  
    60  	t.Run("invalid factory", func(t *testing.T) {
    61  		require := require.New(t)
    62  
    63  		_, err := NewPeerContext(
    64  			"invalid", "zone1", "test01-zone1", randutil.IP(), randutil.Port(), false)
    65  		require.Error(err)
    66  	})
    67  }