当前位置: 首页>>代码示例>>Golang>>正文


Golang mocks.EC2类代码示例

本文整理汇总了Golang中github.com/endemics/docker-plugin-ebs/ec2/mocks.EC2的典型用法代码示例。如果您正苦于以下问题:Golang EC2类的具体用法?Golang EC2怎么用?Golang EC2使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了EC2类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: TestCreateReturnsErrorWhenSizeOrIopsAreInvalid

func TestCreateReturnsErrorWhenSizeOrIopsAreInvalid(t *testing.T) {
	optsTests := []map[string]string{
		{
			"size": "x",
		},
		{
			"iops": "y",
		},
	}

	mockOutput := &ec2.Volume{
		AvailabilityZone: aws.String("eu-west-1a"),
		CreateTime:       aws.Time(time.Now()),
		Encrypted:        aws.Bool(false),
		Iops:             aws.Int64(3),
		Size:             aws.Int64(1),
		SnapshotId:       aws.String(""),
		State:            aws.String("creating"),
		VolumeId:         aws.String("vol-681e4aac"),
		VolumeType:       aws.String("gp2"),
	}

	m := new(mocks.EC2)
	m.On("CreateVolume", mock.AnythingOfType("*ec2.CreateVolumeInput")).Return(mockOutput, nil)

	wrapper := &EC2Wrapper{m}

	for _, tt := range optsTests {
		_, err := wrapper.create("label", tt)

		assert.Error(t, err, "create should return an error when size or iops cannot be converted in int64")
	}
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:33,代码来源:ec2_service_test.go

示例2: TestFindReturnsErrorIfMoreThanOneVolumeMatchesLabel

func TestFindReturnsErrorIfMoreThanOneVolumeMatchesLabel(t *testing.T) {
	mockOutput := &ec2.DescribeVolumesOutput{
		Volumes: []*ec2.Volume{
			&ec2.Volume{
				AvailabilityZone: aws.String("eu-west-1a"),
				CreateTime:       aws.Time(time.Now()),
				Encrypted:        aws.Bool(false),
				Iops:             aws.Int64(3),
				Size:             aws.Int64(1),
				SnapshotId:       aws.String(""),
				State:            aws.String("available"),
				Tags: []*ec2.Tag{
					&ec2.Tag{
						Key:   aws.String("Name"),
						Value: aws.String("label"),
					},
					&ec2.Tag{
						Key:   aws.String("DockerVolumeName"),
						Value: aws.String("label"),
					},
				},
				VolumeId:   aws.String("vol-681e4aac"),
				VolumeType: aws.String("gp2"),
			},
			&ec2.Volume{
				AvailabilityZone: aws.String("eu-west-1b"),
				CreateTime:       aws.Time(time.Now()),
				Encrypted:        aws.Bool(false),
				Iops:             aws.Int64(3),
				Size:             aws.Int64(1),
				SnapshotId:       aws.String(""),
				State:            aws.String("available"),
				Tags: []*ec2.Tag{
					&ec2.Tag{
						Key:   aws.String("Name"),
						Value: aws.String("label"),
					},
					&ec2.Tag{
						Key:   aws.String("DockerVolumeName"),
						Value: aws.String("label"),
					},
				},
				VolumeId:   aws.String("vol-1234beef"),
				VolumeType: aws.String("gp2"),
			},
		},
	}

	m := new(mocks.EC2)
	m.On("DescribeVolumes", mock.AnythingOfType("*ec2.DescribeVolumesInput")).Return(mockOutput, nil)

	wrapper := &EC2Wrapper{m}

	_, err := wrapper.find("label")

	assert.Error(t, err, "find should return an error when more than one volume matches the label")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:57,代码来源:ec2_service_test.go

示例3: TestTagReturnsErrorWhenEC2ReturnsError

func TestTagReturnsErrorWhenEC2ReturnsError(t *testing.T) {
	m := new(mocks.EC2)
	m.On("CreateTags", mock.AnythingOfType("*ec2.CreateTagsInput")).Return(&ec2.CreateTagsOutput{}, fmt.Errorf("this is a mocked AWS error"))

	wrapper := &EC2Wrapper{m}

	err := wrapper.tag("vol-1234beef", "label")

	assert.Error(t, err, "tag should return an error when AWS returns an error")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:10,代码来源:ec2_service_test.go

示例4: TestTag

func TestTag(t *testing.T) {
	m := new(mocks.EC2)
	m.On("CreateTags", mock.AnythingOfType("*ec2.CreateTagsInput")).Return(&ec2.CreateTagsOutput{}, nil)

	wrapper := &EC2Wrapper{m}

	err := wrapper.tag("vol-1234beef", "label")

	assert.NoError(t, err, "tag should not return an error when all is fine")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:10,代码来源:ec2_service_test.go

示例5: TestCreateReturnsErrorWhenEC2ReturnsError

func TestCreateReturnsErrorWhenEC2ReturnsError(t *testing.T) {
	m := new(mocks.EC2)
	m.On("CreateVolume", mock.AnythingOfType("*ec2.CreateVolumeInput")).Return(&ec2.Volume{}, fmt.Errorf("this is a mocked AWS error"))

	wrapper := &EC2Wrapper{m}

	_, err := wrapper.create("label", map[string]string{})

	assert.Error(t, err, "create should return an error when AWS returns an error")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:10,代码来源:ec2_service_test.go

示例6: TestFindReturnsErrorWhenEC2ReturnsError

func TestFindReturnsErrorWhenEC2ReturnsError(t *testing.T) {
	mockOutput := &ec2.DescribeVolumesOutput{
		Volumes: []*ec2.Volume{},
	}

	m := new(mocks.EC2)
	m.On("DescribeVolumes", mock.AnythingOfType("*ec2.DescribeVolumesInput")).Return(mockOutput, fmt.Errorf("this is a mocked AWS error"))

	wrapper := &EC2Wrapper{m}

	_, err := wrapper.find("label")

	assert.Error(t, err, "find should return an error when AWS returns an error")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:14,代码来源:ec2_service_test.go

示例7: TestFindReturnsEmptyStringWhenNoMatchingVolume

func TestFindReturnsEmptyStringWhenNoMatchingVolume(t *testing.T) {
	mockOutput := &ec2.DescribeVolumesOutput{
		Volumes: []*ec2.Volume{},
	}

	m := new(mocks.EC2)
	m.On("DescribeVolumes", mock.AnythingOfType("*ec2.DescribeVolumesInput")).Return(mockOutput, nil)

	wrapper := &EC2Wrapper{m}

	output, err := wrapper.find("nosuchlabel")

	if err != nil {
		t.Error(err)
	}

	assert.Equal(t, "", output, "find should return an empty string when no volume matches DockerVolumeName=label")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:18,代码来源:ec2_service_test.go

示例8: TestCreateReturnsVolumeIdWhenCreatingVolume

func TestCreateReturnsVolumeIdWhenCreatingVolume(t *testing.T) {
	optsTests := []map[string]string{
		{},
		{
			"size": "10",
		},
		{
			"type": "standard",
		},
		{
			"type": "io1",
			"iops": "1000",
		},
	}

	mockOutput := &ec2.Volume{
		AvailabilityZone: aws.String("eu-west-1a"),
		CreateTime:       aws.Time(time.Now()),
		Encrypted:        aws.Bool(false),
		Iops:             aws.Int64(3),
		Size:             aws.Int64(1),
		SnapshotId:       aws.String(""),
		State:            aws.String("creating"),
		VolumeId:         aws.String("vol-681e4aac"),
		VolumeType:       aws.String("gp2"),
	}

	m := new(mocks.EC2)
	m.On("CreateVolume", mock.AnythingOfType("*ec2.CreateVolumeInput")).Return(mockOutput, nil)

	wrapper := &EC2Wrapper{m}

	for _, tt := range optsTests {
		output, err := wrapper.create("label", tt)

		if err != nil {
			t.Error(err)
		}

		assert.Equal(t, "vol-681e4aac", output, "create should return the volumeId of the volume created")
	}
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:42,代码来源:ec2_service_test.go

示例9: TestFindReturnsIdWhenOneMatchingVolume

func TestFindReturnsIdWhenOneMatchingVolume(t *testing.T) {
	mockOutput := &ec2.DescribeVolumesOutput{
		Volumes: []*ec2.Volume{
			&ec2.Volume{
				AvailabilityZone: aws.String("eu-west-1a"),
				CreateTime:       aws.Time(time.Now()),
				Encrypted:        aws.Bool(false),
				Iops:             aws.Int64(3),
				Size:             aws.Int64(1),
				SnapshotId:       aws.String(""),
				State:            aws.String("available"),
				Tags: []*ec2.Tag{
					&ec2.Tag{
						Key:   aws.String("Name"),
						Value: aws.String("label"),
					},
					&ec2.Tag{
						Key:   aws.String("DockerVolumeName"),
						Value: aws.String("label"),
					},
				},
				VolumeId:   aws.String("vol-681e4aac"),
				VolumeType: aws.String("gp2"),
			},
		},
	}

	m := new(mocks.EC2)
	m.On("DescribeVolumes", mock.AnythingOfType("*ec2.DescribeVolumesInput")).Return(mockOutput, nil)

	wrapper := &EC2Wrapper{m}

	output, err := wrapper.find("label")

	if err != nil {
		t.Error(err)
	}

	assert.Equal(t, "vol-681e4aac", output, "find should return the volumeId of the volume matching DockerVolumeName=label")
}
开发者ID:endemics,项目名称:docker-plugin-ebs,代码行数:40,代码来源:ec2_service_test.go


注:本文中的github.com/endemics/docker-plugin-ebs/ec2/mocks.EC2类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。