github.com/uber/kraken@v0.1.4/tracker/trackerserver/testutils_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 trackerserver
    15  
    16  import (
    17  	"net/http"
    18  	"testing"
    19  
    20  	"github.com/uber/kraken/mocks/origin/blobclient"
    21  	"github.com/uber/kraken/mocks/tracker/originstore"
    22  	"github.com/uber/kraken/mocks/tracker/peerstore"
    23  	"github.com/uber/kraken/tracker/peerhandoutpolicy"
    24  
    25  	"github.com/golang/mock/gomock"
    26  	"github.com/uber-go/tally"
    27  )
    28  
    29  type serverMocks struct {
    30  	config        Config
    31  	policy        *peerhandoutpolicy.PriorityPolicy
    32  	ctrl          *gomock.Controller
    33  	peerStore     *mockpeerstore.MockStore
    34  	originStore   *mockoriginstore.MockStore
    35  	originCluster *mockblobclient.MockClusterClient
    36  	stats         tally.Scope
    37  }
    38  
    39  func newServerMocks(t *testing.T, config Config) (*serverMocks, func()) {
    40  	ctrl := gomock.NewController(t)
    41  	return &serverMocks{
    42  		config:        config,
    43  		policy:        peerhandoutpolicy.DefaultPriorityPolicyFixture(),
    44  		peerStore:     mockpeerstore.NewMockStore(ctrl),
    45  		originStore:   mockoriginstore.NewMockStore(ctrl),
    46  		originCluster: mockblobclient.NewMockClusterClient(ctrl),
    47  		stats:         tally.NewTestScope("testing", nil),
    48  	}, ctrl.Finish
    49  }
    50  
    51  func (m *serverMocks) handler() http.Handler {
    52  	return New(
    53  		m.config,
    54  		m.stats,
    55  		m.policy,
    56  		m.peerStore,
    57  		m.originStore,
    58  		m.originCluster).Handler()
    59  }