Skip to content

Commit

Permalink
fix controller int tests
Browse files Browse the repository at this point in the history
  • Loading branch information
henrod committed Aug 7, 2017
1 parent 7ddc342 commit 0026e91
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions controller/controller_int_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ package controller_test

import (
"errors"
"math/rand"
"strconv"
"time"

goredis "github.com/go-redis/redis"
"github.com/golang/mock/gomock"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
Expand All @@ -28,6 +31,10 @@ var _ = Describe("Controller", func() {
var timeoutSec int
var configYaml1 models.ConfigYAML
var jsonStr string
randomPort := func(min, max int) string {
rand.Seed(time.Now().UnixNano())
return strconv.Itoa(rand.Intn(max-min) + min)
}

BeforeEach(func() {
var err error
Expand Down Expand Up @@ -67,6 +74,23 @@ var _ = Describe("Controller", func() {
).Return(&types.Result{}, errors.New("error updating state"))
mockDb.EXPECT().Exec("DELETE FROM schedulers WHERE name = ?", configYaml1.Name)

mockRedisClient.EXPECT().TxPipeline().Return(mockPipeline)
mockPipeline.EXPECT().
SPop(models.FreePortsRedisKey()).
Return(goredis.NewStringResult(randomPort(40000, 60000), nil))
mockPipeline.EXPECT().Exec()

mockRedisClient.EXPECT().TxPipeline().Return(mockPipeline)
mockPipeline.EXPECT().
SPop(models.FreePortsRedisKey()).
Return(goredis.NewStringResult(randomPort(40000, 60000), nil))
mockPipeline.EXPECT().Exec()

mockRedisClient.EXPECT().TxPipeline().Return(mockPipeline).Times(2)
mockPipeline.EXPECT().
SAdd(models.FreePortsRedisKey(), gomock.Any()).Times(2)
mockPipeline.EXPECT().Exec().Times(2)

err := controller.CreateScheduler(logger, mr, mockDb, mockRedisClient, clientset, &configYaml1, timeoutSec)
Expect(err).To(HaveOccurred())
Expect(err.Error()).To(Equal("error updating state"))
Expand Down

0 comments on commit 0026e91

Please sign in to comment.