本文整理汇总了Golang中github.com/golang/mock/gomock.InOrder函数的典型用法代码示例。如果您正苦于以下问题:Golang InOrder函数的具体用法?Golang InOrder怎么用?Golang InOrder使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了InOrder函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestMODE
// Test the handler for MODE messages
func TestMODE(t *testing.T) {
c, s := setUp(t)
defer s.tearDown()
// Channel modes
gomock.InOrder(
s.st.EXPECT().GetChannel("#test1").Return(&state.Channel{Name: "#test1"}),
s.st.EXPECT().ChannelModes("#test1", "+sk", "somekey"),
)
c.h_MODE(ParseLine(":[email protected] MODE #test1 +sk somekey"))
// Nick modes for Me.
gomock.InOrder(
s.st.EXPECT().GetChannel("test").Return(nil),
s.st.EXPECT().GetNick("test").Return(c.cfg.Me),
s.st.EXPECT().Me().Return(c.cfg.Me),
s.st.EXPECT().NickModes("test", "+i"),
)
c.h_MODE(ParseLine(":[email protected] MODE test +i"))
// Check error paths
gomock.InOrder(
// send a valid user mode that's not us
s.st.EXPECT().GetChannel("user1").Return(nil),
s.st.EXPECT().GetNick("user1").Return(&state.Nick{Nick: "user1"}),
s.st.EXPECT().Me().Return(c.cfg.Me),
// Send a random mode for an unknown channel
s.st.EXPECT().GetChannel("#test2").Return(nil),
s.st.EXPECT().GetNick("#test2").Return(nil),
)
c.h_MODE(ParseLine(":[email protected] MODE user1 +w"))
c.h_MODE(ParseLine(":[email protected] MODE #test2 +is"))
}
开发者ID:codingjester,项目名称:goirc,代码行数:34,代码来源:handlers_test.go
示例2: Test352
// Test the handler for 352 / RPL_WHOREPLY
func Test352(t *testing.T) {
c, s := setUp(t)
defer s.tearDown()
// Ensure 352 reply calls NickInfo and NickModes
gomock.InOrder(
s.st.EXPECT().GetNick("user1").Return(&state.Nick{Nick: "user1"}),
s.st.EXPECT().Me().Return(c.cfg.Me),
s.st.EXPECT().NickInfo("user1", "ident1", "host1.com", "name"),
)
c.h_352(ParseLine(":irc.server.org 352 test #test1 ident1 host1.com irc.server.org user1 G :0 name"))
// Check that modes are set correctly from WHOREPLY
gomock.InOrder(
s.st.EXPECT().GetNick("user1").Return(&state.Nick{Nick: "user1"}),
s.st.EXPECT().Me().Return(c.cfg.Me),
s.st.EXPECT().NickInfo("user1", "ident1", "host1.com", "name"),
s.st.EXPECT().NickModes("user1", "+o"),
s.st.EXPECT().NickModes("user1", "+i"),
)
c.h_352(ParseLine(":irc.server.org 352 test #test1 ident1 host1.com irc.server.org user1 H* :0 name"))
// Check error paths -- send a 352 for an unknown nick
s.st.EXPECT().GetNick("user2").Return(nil)
c.h_352(ParseLine(":irc.server.org 352 test #test2 ident2 host2.com irc.server.org user2 G :0 fooo"))
}
开发者ID:codingjester,项目名称:goirc,代码行数:27,代码来源:handlers_test.go
示例3: TestClusterUpForImageIdInput
func TestClusterUpForImageIdInput(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
mockEcs := mock_ecs.NewMockECSClient(ctrl)
mockCloudformation := mock_cloudformation.NewMockCloudformationClient(ctrl)
imageId := "ami-12345"
os.Setenv("AWS_ACCESS_KEY", "AKIDEXAMPLE")
os.Setenv("AWS_SECRET_KEY", "secret")
defer func() {
os.Unsetenv("AWS_ACCESS_KEY")
os.Unsetenv("AWS_SECRET_KEY")
}()
gomock.InOrder(
mockEcs.EXPECT().Initialize(gomock.Any()),
mockEcs.EXPECT().CreateCluster(gomock.Any()).Do(func(in interface{}) {
if in.(string) != clusterName {
t.Fatal("Expected to be called with " + clusterName + " not " + in.(string))
}
}).Return(clusterName, nil),
)
gomock.InOrder(
mockCloudformation.EXPECT().Initialize(gomock.Any()),
mockCloudformation.EXPECT().ValidateStackExists(gomock.Any()).Return(errors.New("error")),
mockCloudformation.EXPECT().CreateStack(gomock.Any(), gomock.Any(), gomock.Any()).Do(func(x, y, z interface{}) {
cfnStackParams := z.(*cloudformation.CfnStackParams)
param, err := cfnStackParams.GetParameter(cloudformation.ParameterKeyAmiId)
if err != nil {
t.Fatal("Expected image id params to be present")
}
if imageId != aws.StringValue(param.ParameterValue) {
t.Fatalf("Expected image id to equal %s but got %s", imageId, aws.StringValue(param.ParameterValue))
}
}).Return("", nil),
mockCloudformation.EXPECT().WaitUntilCreateComplete(gomock.Any()).Return(nil),
)
globalSet := flag.NewFlagSet("ecs-cli", 0)
globalSet.String("region", "us-west-1", "")
globalContext := cli.NewContext(nil, globalSet, nil)
flagSet := flag.NewFlagSet("ecs-cli-up", 0)
flagSet.Bool(capabilityIAMFlag, true, "")
flagSet.String(keypairNameFlag, "default", "")
flagSet.String(imageIdFlag, imageId, "")
flagSet.String(certificateFlag, "default", "")
context := cli.NewContext(nil, flagSet, globalContext)
err := createCluster(context, &mockReadWriter{}, mockEcs, mockCloudformation, ami.NewStaticAmiIds())
if err != nil {
t.Fatal("Error bringing up cluster: ", err)
}
}
开发者ID:abdollar,项目名称:amazon-ecs-cli,代码行数:55,代码来源:cluster_app_test.go
示例4: TestContainerStatsCollectionReconnection
func TestContainerStatsCollectionReconnection(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
mockDockerClient := ecsengine.NewMockDockerClient(ctrl)
dockerID := "container1"
ctx, cancel := context.WithCancel(context.TODO())
statChan := make(chan *docker.Stats)
statErr := fmt.Errorf("test error")
closedChan := make(chan *docker.Stats)
close(closedChan)
gomock.InOrder(
mockDockerClient.EXPECT().Stats(dockerID, ctx).Return(nil, statErr),
mockDockerClient.EXPECT().Stats(dockerID, ctx).Return(closedChan, nil),
mockDockerClient.EXPECT().Stats(dockerID, ctx).Return(statChan, nil),
)
container := &StatsContainer{
containerMetadata: &ContainerMetadata{
DockerID: dockerID,
},
ctx: ctx,
cancel: cancel,
client: mockDockerClient,
}
container.StartStatsCollection()
time.Sleep(checkPointSleep)
container.StopStatsCollection()
}
开发者ID:witsoej,项目名称:amazon-ecs-agent,代码行数:30,代码来源:container_test.go
示例5: TestClusterDown
func TestClusterDown(t *testing.T) {
newCliParams = func(context *cli.Context, rdwr config.ReadWriter) (*config.CliParams, error) {
return &config.CliParams{
Cluster: clusterName,
}, nil
}
ctrl := gomock.NewController(t)
defer ctrl.Finish()
mockECS := mock_ecs.NewMockECSClient(ctrl)
mockCloudformation := mock_cloudformation.NewMockCloudformationClient(ctrl)
gomock.InOrder(
mockECS.EXPECT().Initialize(gomock.Any()),
mockECS.EXPECT().IsActiveCluster(gomock.Any()).Return(true, nil),
mockCloudformation.EXPECT().Initialize(gomock.Any()),
mockCloudformation.EXPECT().ValidateStackExists(stackName).Return(nil),
mockCloudformation.EXPECT().DeleteStack(stackName).Return(nil),
mockCloudformation.EXPECT().WaitUntilDeleteComplete(stackName).Return(nil),
mockECS.EXPECT().DeleteCluster(clusterName).Return(clusterName, nil),
)
globalSet := flag.NewFlagSet("ecs-cli", 0)
globalSet.String("region", "us-west-1", "")
globalContext := cli.NewContext(nil, globalSet, nil)
flagSet := flag.NewFlagSet("ecs-cli-down", 0)
flagSet.Bool(forceFlag, true, "")
context := cli.NewContext(nil, flagSet, globalContext)
err := deleteCluster(context, newMockReadWriter(), mockECS, mockCloudformation)
if err != nil {
t.Fatal("Error deleting cluster: ", err)
}
}
开发者ID:yinshiua,项目名称:amazon-ecs-cli,代码行数:33,代码来源:cluster_app_test.go
示例6: TestValidationError
func TestValidationError(t *testing.T) {
u, ctrl, _, mockfs, mockacs, mockhttp := mocks(t, nil)
defer ctrl.Finish()
var writtenFile bytes.Buffer
gomock.InOrder(
mockhttp.EXPECT().RoundTrip(mock_http.NewHTTPSimpleMatcher("GET", "https://s3.amazonaws.com/amazon-ecs-agent/update.tar")).Return(mock_http.SuccessResponse("update-tar-data"), nil),
mockfs.EXPECT().Create(gomock.Any()).Return(mock_os.NopReadWriteCloser(&writtenFile), nil),
mockfs.EXPECT().Remove(gomock.Any()),
mockacs.EXPECT().MakeRequest(&nackRequestMatcher{&ecsacs.NackRequest{
Cluster: ptr("cluster").(*string),
ContainerInstance: ptr("containerInstance").(*string),
MessageId: ptr("StageMID").(*string),
}}),
)
u.stageUpdateHandler()(&ecsacs.StageUpdateMessage{
ClusterArn: ptr("cluster").(*string),
ContainerInstanceArn: ptr("containerInstance").(*string),
MessageId: ptr("StageMID").(*string),
UpdateInfo: &ecsacs.UpdateInfo{
Location: ptr("https://s3.amazonaws.com/amazon-ecs-agent/update.tar").(*string),
Signature: ptr("Invalid signature").(*string),
},
})
if writtenFile.String() != "update-tar-data" {
t.Error("Incorrect data written")
}
}
开发者ID:dockerstack,项目名称:amazon-ecs-agent,代码行数:30,代码来源:updater_test.go
示例7: Test001
// Test the handler for 001 / RPL_WELCOME
func Test001(t *testing.T) {
c, s := setUp(t)
defer s.tearDown()
l := ParseLine(":irc.server.org 001 test :Welcome to IRC [email protected]")
// Set up a handler to detect whether connected handler is called from 001
hcon := false
c.HandleFunc("connected", func(conn *Conn, line *Line) {
hcon = true
})
// Test state tracking first.
gomock.InOrder(
s.st.EXPECT().Me().Return(c.cfg.Me),
s.st.EXPECT().NickInfo("test", "test", "somehost.com", "Testing IRC"),
)
// Call handler with a valid 001 line
c.h_001(l)
<-time.After(time.Millisecond)
if !hcon {
t.Errorf("001 handler did not dispatch connected event.")
}
// Now without state tracking.
c.st = nil
c.h_001(l)
// Check host parsed correctly
if c.cfg.Me.Host != "somehost.com" {
t.Errorf("Host parsing failed, host is '%s'.", c.cfg.Me.Host)
}
c.st = s.st
}
开发者ID:codingjester,项目名称:goirc,代码行数:33,代码来源:handlers_test.go
示例8: TestStartSupervisedExitsWhenTerminalSuccess
func TestStartSupervisedExitsWhenTerminalSuccess(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockDocker := NewMockdockerClient(mockCtrl)
gomock.InOrder(
mockDocker.EXPECT().RemoveExistingAgentContainer(),
mockDocker.EXPECT().StartAgent().Return(1, nil),
mockDocker.EXPECT().RemoveExistingAgentContainer(),
mockDocker.EXPECT().StartAgent().Return(1, nil),
mockDocker.EXPECT().RemoveExistingAgentContainer(),
mockDocker.EXPECT().StartAgent().Return(1, nil),
mockDocker.EXPECT().RemoveExistingAgentContainer(),
mockDocker.EXPECT().StartAgent().Return(terminalSuccessAgentExitCode, nil),
)
engine := &Engine{
docker: mockDocker,
}
err := engine.StartSupervised()
if err != nil {
t.Error("Expected error to be nil but was returned")
}
}
开发者ID:ColBT,项目名称:amazon-ecs-init,代码行数:25,代码来源:engine_test.go
示例9: TestCreateContainerForceSave
func TestCreateContainerForceSave(t *testing.T) {
ctrl, client, _, privateTaskEngine, _ := mocks(t, &config.Config{})
saver := mock_statemanager.NewMockStateManager(ctrl)
defer ctrl.Finish()
taskEngine, _ := privateTaskEngine.(*DockerTaskEngine)
taskEngine.SetSaver(saver)
sleepTask := testdata.LoadTask("sleep5")
sleepContainer, _ := sleepTask.ContainerByName("sleep5")
gomock.InOrder(
saver.EXPECT().ForceSave().Do(func() interface{} {
task, ok := taskEngine.state.TaskByArn(sleepTask.Arn)
if task == nil || !ok {
t.Fatalf("Expected task with arn %s", sleepTask.Arn)
}
_, ok = task.ContainerByName("sleep5")
if !ok {
t.Error("Expected container sleep5")
}
return nil
}),
client.EXPECT().CreateContainer(gomock.Any(), gomock.Any(), gomock.Any()),
)
metadata := taskEngine.createContainer(sleepTask, sleepContainer)
if metadata.Error != nil {
t.Error("Unexpected error", metadata.Error)
}
}
开发者ID:witsoej,项目名称:amazon-ecs-agent,代码行数:30,代码来源:docker_task_engine_test.go
示例10: TestControllerWait
func TestControllerWait(t *testing.T) {
task := genTask(t)
ctx, client, ctlr, config, finish := genTestControllerEnv(t, task)
defer finish(t)
evs, errs := makeEvents(t, config, "create", "die")
gomock.InOrder(
client.EXPECT().ContainerInspect(gomock.Any(), config.name()).
Return(types.ContainerJSON{
ContainerJSONBase: &types.ContainerJSONBase{
State: &types.ContainerState{
Status: "running",
},
},
}, nil),
client.EXPECT().Events(gomock.Any(), types.EventsOptions{
Since: "0",
Filters: config.eventFilter(),
}).Return(evs, errs),
client.EXPECT().ContainerInspect(gomock.Any(), config.name()).
Return(types.ContainerJSON{
ContainerJSONBase: &types.ContainerJSONBase{
State: &types.ContainerState{
Status: "stopped", // can be anything but created
},
},
}, nil),
)
assert.NoError(t, ctlr.Wait(ctx))
}
开发者ID:docker,项目名称:swarmkit,代码行数:31,代码来源:controller_test.go
示例11: TestClusterUpWithout2AvailabilityZones
func TestClusterUpWithout2AvailabilityZones(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
mockECS := mock_ecs.NewMockECSClient(ctrl)
mockCloudformation := mock_cloudformation.NewMockCloudformationClient(ctrl)
vpcAZs := "us-west-2c"
os.Setenv("AWS_ACCESS_KEY", "AKIDEXAMPLE")
os.Setenv("AWS_SECRET_KEY", "secret")
defer func() {
os.Unsetenv("AWS_ACCESS_KEY")
os.Unsetenv("AWS_SECRET_KEY")
}()
gomock.InOrder(
mockCloudformation.EXPECT().Initialize(gomock.Any()),
mockCloudformation.EXPECT().ValidateStackExists(stackName).Return(errors.New("error")),
)
globalSet := flag.NewFlagSet("ecs-cli", 0)
globalSet.String("region", "us-west-1", "")
globalContext := cli.NewContext(nil, globalSet, nil)
flagSet := flag.NewFlagSet("ecs-cli-up", 0)
flagSet.Bool(capabilityIAMFlag, true, "")
flagSet.String(keypairNameFlag, "default", "")
flagSet.Bool(forceFlag, true, "")
flagSet.String(vpcAzFlag, vpcAZs, "")
context := cli.NewContext(nil, flagSet, globalContext)
err := createCluster(context, newMockReadWriter(), mockECS, mockCloudformation, ami.NewStaticAmiIds())
if err == nil {
t.Fatal("Expected error for 2 AZs")
}
}
开发者ID:yinshiua,项目名称:amazon-ecs-cli,代码行数:34,代码来源:cluster_app_test.go
示例12: TestClientWrongMessageType
// TestCase: Wrong message type has been received in the client.
func TestClientWrongMessageType(t *testing.T) {
mockCtrl := gomock.NewController(t)
transport := thrift.NewTMemoryBuffer()
protocol := NewMockTProtocol(mockCtrl)
gomock.InOrder(
protocol.EXPECT().WriteMessageBegin("testString", thrift.CALL, int32(1)),
protocol.EXPECT().WriteStructBegin("testString_args"),
protocol.EXPECT().WriteFieldBegin("s", thrift.TType(thrift.STRING), int16(1)),
protocol.EXPECT().WriteString("test"),
protocol.EXPECT().WriteFieldEnd(),
protocol.EXPECT().WriteFieldStop(),
protocol.EXPECT().WriteStructEnd(),
protocol.EXPECT().WriteMessageEnd(),
protocol.EXPECT().Flush(),
protocol.EXPECT().ReadMessageBegin().Return("testString", thrift.INVALID_TMESSAGE_TYPE, int32(1), nil),
)
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
_, err := client.TestString("test")
mockCtrl.Finish()
appErr, ok := err.(thrift.TApplicationException)
if !ok {
t.Fatal("Expected TApplicationException")
}
if appErr.TypeId() != thrift.INVALID_MESSAGE_TYPE_EXCEPTION {
t.Fatal("Expected INVALID_MESSAGE_TYPE_EXCEPTION error")
}
}
开发者ID:ChristopherRogers,项目名称:thrift,代码行数:29,代码来源:client_error_test.go
示例13: TestClientSeqIdMismatch
// TestCase: Mismatching sequence id has been received in the client.
func TestClientSeqIdMismatch(t *testing.T) {
mockCtrl := gomock.NewController(t)
transport := thrift.NewTMemoryBuffer()
protocol := NewMockTProtocol(mockCtrl)
gomock.InOrder(
protocol.EXPECT().WriteMessageBegin("testString", thrift.CALL, int32(1)),
protocol.EXPECT().WriteStructBegin("testString_args"),
protocol.EXPECT().WriteFieldBegin("s", thrift.TType(thrift.STRING), int16(1)),
protocol.EXPECT().WriteString("test"),
protocol.EXPECT().WriteFieldEnd(),
protocol.EXPECT().WriteFieldStop(),
protocol.EXPECT().WriteStructEnd(),
protocol.EXPECT().WriteMessageEnd(),
protocol.EXPECT().Flush(),
protocol.EXPECT().ReadMessageBegin().Return("testString", thrift.REPLY, int32(2), nil),
)
client := errortest.NewErrorTestClientProtocol(transport, protocol, protocol)
_, err := client.TestString("test")
mockCtrl.Finish()
appErr, ok := err.(thrift.TApplicationException)
if !ok {
t.Fatal("Expected TApplicationException")
}
if appErr.TypeId() != thrift.BAD_SEQUENCE_ID {
t.Fatal("Expected BAD_SEQUENCE_ID error")
}
}
开发者ID:ChristopherRogers,项目名称:thrift,代码行数:29,代码来源:client_error_test.go
示例14: TestCreateContainerInspectTimeout
func TestCreateContainerInspectTimeout(t *testing.T) {
mockDocker, client, testTime, done := dockerclientSetup(t)
defer done()
warp := make(chan time.Time)
testTime.EXPECT().After(inspectContainerTimeout).Return(warp)
testTime.EXPECT().After(gomock.Any()).AnyTimes()
wait := &sync.WaitGroup{}
wait.Add(1)
config := docker.CreateContainerOptions{Config: &docker.Config{Memory: 100}, Name: "containerName"}
gomock.InOrder(
mockDocker.EXPECT().CreateContainer(config).Return(&docker.Container{ID: "id"}, nil),
mockDocker.EXPECT().InspectContainer("id").Do(func(x interface{}) {
warp <- time.Now()
wait.Wait()
}),
)
metadata := client.CreateContainer(config.Config, nil, config.Name)
if metadata.DockerId != "id" {
t.Error("Expected ID to be set even if inspect failed; was " + metadata.DockerId)
}
if metadata.Error == nil {
t.Error("Expected error for inspect timeout")
}
wait.Done()
}
开发者ID:umaptechnologies,项目名称:amazon-ecs-agent,代码行数:26,代码来源:docker_container_engine_test.go
示例15: TestStartSupervisedUpgrade
func TestStartSupervisedUpgrade(t *testing.T) {
mockCtrl := gomock.NewController(t)
defer mockCtrl.Finish()
mockDocker := NewMockdockerClient(mockCtrl)
mockDownloader := NewMockdownloader(mockCtrl)
gomock.InOrder(
mockDocker.EXPECT().RemoveExistingAgentContainer(),
mockDocker.EXPECT().StartAgent().Return(upgradeAgentExitCode, nil),
mockDownloader.EXPECT().LoadDesiredAgent().Return(&os.File{}, nil),
mockDocker.EXPECT().LoadImage(gomock.Any()),
mockDownloader.EXPECT().RecordCachedAgent(),
mockDocker.EXPECT().RemoveExistingAgentContainer(),
mockDocker.EXPECT().StartAgent().Return(terminalSuccessAgentExitCode, nil),
)
engine := &Engine{
downloader: mockDownloader,
docker: mockDocker,
}
err := engine.StartSupervised()
if err != nil {
t.Error("Expected error to be nil but was returned")
}
}
开发者ID:ColBT,项目名称:amazon-ecs-init,代码行数:26,代码来源:engine_test.go
示例16: Test433
// Test the handler for 433 / ERR_NICKNAMEINUSE
func Test433(t *testing.T) {
c, s := setUp(t)
defer s.tearDown()
// Call handler with a 433 line, not triggering c.cfg.Me.Renick()
s.st.EXPECT().Me().Return(c.cfg.Me)
c.h_433(ParseLine(":irc.server.org 433 test new :Nickname is already in use."))
s.nc.Expect("NICK new_")
// Send a line that will trigger a renick. This happens when our wanted
// nick is unavailable during initial negotiation, so we must choose a
// different one before the connection can proceed. No NICK line will be
// sent by the server to confirm nick change in this case.
gomock.InOrder(
s.st.EXPECT().Me().Return(c.cfg.Me),
s.st.EXPECT().ReNick("test", "test_").Return(c.cfg.Me),
)
c.h_433(ParseLine(":irc.server.org 433 test test :Nickname is already in use."))
s.nc.Expect("NICK test_")
// Test the code path that *doesn't* involve state tracking.
c.st = nil
c.h_433(ParseLine(":irc.server.org 433 test test :Nickname is already in use."))
s.nc.Expect("NICK test_")
if c.cfg.Me.Nick != "test_" {
t.Errorf("My nick not updated from '%s'.", c.cfg.Me.Nick)
}
c.st = s.st
}
开发者ID:codingjester,项目名称:goirc,代码行数:31,代码来源:handlers_test.go
示例17: TestPrepareAlready
func TestPrepareAlready(t *testing.T) {
var (
task = newTestTask(t, api.TaskStateAssigned, api.TaskStateRunning)
ctx, ctlr, finish = buildTestEnv(t, task)
)
defer finish()
gomock.InOrder(
ctlr.EXPECT().Prepare(gomock.Any()).Return(ErrTaskPrepared),
)
// Report acceptance.
status := checkDo(t, ctx, task, ctlr, &api.TaskStatus{
State: api.TaskStateAccepted,
Message: "accepted",
})
// Actually prepare the task.
task.Status = *status
status = checkDo(t, ctx, task, ctlr, &api.TaskStatus{
State: api.TaskStatePreparing,
Message: "preparing",
})
task.Status = *status
checkDo(t, ctx, task, ctlr, &api.TaskStatus{
State: api.TaskStateReady,
Message: "prepared",
})
}
开发者ID:ChristianKniep,项目名称:swarmkit,代码行数:31,代码来源:controller_test.go
示例18: TestRegisterTaskDefinitionIfNeededCachedTDIsInactive
func TestRegisterTaskDefinitionIfNeededCachedTDIsInactive(t *testing.T) {
mockEcs, mockCache, client, ctrl := setupTestController(t, &defaultCliConfigParams)
defer ctrl.Finish()
registerTaskDefinitionInput1 := ecs.RegisterTaskDefinitionInput{
Family: aws.String("family1"),
ContainerDefinitions: []*ecs.ContainerDefinition{
{
Name: aws.String("foo"),
},
},
}
taskDefinition2 := ecs.TaskDefinition{
Family: registerTaskDefinitionInput1.Family,
Revision: aws.Int64(2),
Status: aws.String(ecs.TaskDefinitionStatusActive),
TaskDefinitionArn: aws.String("arn:aws:ecs:region1:123456:task-definition/family1:2"),
}
taskDefinition1CachedInactive := ecs.TaskDefinition{
Family: registerTaskDefinitionInput1.Family,
Revision: aws.Int64(1),
Status: aws.String(ecs.TaskDefinitionStatusInactive),
TaskDefinitionArn: aws.String("arn:aws:ecs:region1:123456:task-definition/family1:1"),
}
describeTaskDefinitionInput2 := ecs.DescribeTaskDefinitionInput{
TaskDefinition: registerTaskDefinitionInput1.Family,
}
describeTaskDefinitionInput1Inactive := ecs.DescribeTaskDefinitionInput{
TaskDefinition: taskDefinition1CachedInactive.TaskDefinitionArn,
}
gomock.InOrder(
mockEcs.EXPECT().DescribeTaskDefinition(&describeTaskDefinitionInput2).
Return(&ecs.DescribeTaskDefinitionOutput{TaskDefinition: &taskDefinition2}, nil),
mockCache.EXPECT().Get(gomock.Any(), gomock.Any()).Do(func(x, y interface{}) {
*y.(*ecs.TaskDefinition) = taskDefinition1CachedInactive
}).Return(nil),
mockEcs.EXPECT().DescribeTaskDefinition(&describeTaskDefinitionInput1Inactive).
Return(&ecs.DescribeTaskDefinitionOutput{TaskDefinition: &taskDefinition1CachedInactive}, nil),
mockEcs.EXPECT().RegisterTaskDefinition(®isterTaskDefinitionInput1).
Return(&ecs.RegisterTaskDefinitionOutput{TaskDefinition: &taskDefinition2}, nil),
mockCache.EXPECT().Put(gomock.Any(), gomock.Any()).Return(nil),
)
resp1, err := client.RegisterTaskDefinitionIfNeeded(®isterTaskDefinitionInput1, mockCache)
if err != nil {
t.Fatal(err)
}
if *resp1.Revision <= *taskDefinition1CachedInactive.Revision {
t.Errorf("Expected revison of response to be incremented because the cached task definition is INACTIVE: %v:%v",
*taskDefinition1CachedInactive.Revision, *resp1.Revision)
}
}
开发者ID:uttarasridhar,项目名称:amazon-ecs-cli,代码行数:59,代码来源:client_test.go
示例19: TestClusterUp
func TestClusterUp(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
mockEcs := mock_ecs.NewMockECSClient(ctrl)
mockCloudformation := mock_cloudformation.NewMockCloudformationClient(ctrl)
os.Setenv("AWS_ACCESS_KEY", "AKIDEXAMPLE")
os.Setenv("AWS_SECRET_KEY", "secret")
defer func() {
os.Unsetenv("AWS_ACCESS_KEY")
os.Unsetenv("AWS_SECRET_KEY")
}()
gomock.InOrder(
mockEcs.EXPECT().Initialize(gomock.Any()),
mockEcs.EXPECT().CreateCluster(gomock.Any()).Do(func(in interface{}) {
if in.(string) != clusterName {
t.Fatal("Expected to be called with " + clusterName + " not " + in.(string))
}
}).Return(clusterName, nil),
)
gomock.InOrder(
mockCloudformation.EXPECT().Initialize(gomock.Any()),
mockCloudformation.EXPECT().ValidateStackExists(gomock.Any()).Return(errors.New("error")),
mockCloudformation.EXPECT().CreateStack(gomock.Any(), gomock.Any(), gomock.Any()).Return("", nil),
mockCloudformation.EXPECT().WaitUntilCreateComplete(gomock.Any()).Return(nil),
)
globalSet := flag.NewFlagSet("ecs-cli", 0)
globalSet.String("region", "us-west-1", "")
globalContext := cli.NewContext(nil, globalSet, nil)
flagSet := flag.NewFlagSet("ecs-cli-up", 0)
flagSet.Bool(capabilityIAMFlag, true, "")
flagSet.String(keypairNameFlag, "default", "")
flagSet.String(certificateFlag, "default", "")
context := cli.NewContext(nil, flagSet, globalContext)
err := createCluster(context, &mockReadWriter{}, mockEcs, mockCloudformation, ami.NewStaticAmiIds())
if err != nil {
t.Fatal("Error bringing up cluster: ", err)
}
}
开发者ID:abdollar,项目名称:amazon-ecs-cli,代码行数:44,代码来源:cluster_app_test.go
示例20: Test353
// Test the handler for 353 / RPL_NAMREPLY
func Test353(t *testing.T) {
c, s := setUp(t)
defer s.tearDown()
// 353 handler is called twice, so GetChannel will be called twice
s.st.EXPECT().GetChannel("#test1").Return(&state.Channel{Name: "#test1"}).Times(2)
gomock.InOrder(
// "test" is Me, i am known, and already on the channel
s.st.EXPECT().GetNick("test").Return(c.cfg.Me),
s.st.EXPECT().IsOn("#test1", "test").Return(&state.ChanPrivs{}, true),
// user1 is known, but not on the channel, so should be associated
s.st.EXPECT().GetNick("user1").Return(&state.Nick{Nick: "user1"}),
s.st.EXPECT().IsOn("#test1", "user1").Return(nil, false),
s.st.EXPECT().Associate("#test1", "user1").Return(&state.ChanPrivs{}),
s.st.EXPECT().ChannelModes("#test1", "+o", "user1"),
)
for n, m := range map[string]string{
"user2": "",
"voice": "+v",
"halfop": "+h",
"op": "+o",
"admin": "+a",
"owner": "+q",
} {
calls := []*gomock.Call{
s.st.EXPECT().GetNick(n).Return(nil),
s.st.EXPECT().NewNick(n).Return(&state.Nick{Nick: n}),
s.st.EXPECT().IsOn("#test1", n).Return(nil, false),
s.st.EXPECT().Associate("#test1", n).Return(&state.ChanPrivs{}),
}
if m != "" {
calls = append(calls, s.st.EXPECT().ChannelModes("#test1", m, n))
}
gomock.InOrder(calls...)
}
// Send a couple of names replies (complete with trailing space)
c.h_353(ParseLine(":irc.server.org 353 test = #test1 :test @user1 user2 +voice "))
c.h_353(ParseLine(":irc.server.org 353 test = #test1 :%halfop @op &admin ~owner "))
// Check error paths -- send 353 for an unknown channel
s.st.EXPECT().GetChannel("#test2").Return(nil)
c.h_353(ParseLine(":irc.server.org 353 test = #test2 :test ~user3"))
}
开发者ID:codingjester,项目名称:goirc,代码行数:45,代码来源:handlers_test.go
注:本文中的github.com/golang/mock/gomock.InOrder函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论