add tests for ECS ContainerInstance list and register actions
This commit is contained in:
parent
115f9513f6
commit
262bf07608
@ -1,8 +1,12 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
import boto3
|
import boto3
|
||||||
import sure # noqa
|
import sure # noqa
|
||||||
|
import json
|
||||||
|
from moto.ec2 import utils as ec2_utils
|
||||||
|
from uuid import UUID
|
||||||
|
|
||||||
from moto import mock_ecs
|
from moto import mock_ecs
|
||||||
|
from moto import mock_ec2
|
||||||
|
|
||||||
|
|
||||||
@mock_ecs
|
@mock_ecs
|
||||||
@ -334,3 +338,79 @@ def test_delete_service():
|
|||||||
response['service']['serviceName'].should.equal('test_ecs_service')
|
response['service']['serviceName'].should.equal('test_ecs_service')
|
||||||
response['service']['status'].should.equal('ACTIVE')
|
response['service']['status'].should.equal('ACTIVE')
|
||||||
response['service']['taskDefinition'].should.equal('arn:aws:ecs:us-east-1:012345678910:task-definition/test_ecs_task:1')
|
response['service']['taskDefinition'].should.equal('arn:aws:ecs:us-east-1:012345678910:task-definition/test_ecs_task:1')
|
||||||
|
|
||||||
|
@mock_ec2
|
||||||
|
@mock_ecs
|
||||||
|
def test_register_container_instance():
|
||||||
|
ecs_client = boto3.client('ecs', region_name='us-east-1')
|
||||||
|
ec2 = boto3.resource('ec2', region_name='us-east-1')
|
||||||
|
|
||||||
|
test_cluster_name = 'test_ecs_cluster'
|
||||||
|
|
||||||
|
_ = ecs_client.create_cluster(
|
||||||
|
clusterName=test_cluster_name
|
||||||
|
)
|
||||||
|
|
||||||
|
test_instance = ec2.create_instances(
|
||||||
|
ImageId="ami-1234abcd",
|
||||||
|
MinCount=1,
|
||||||
|
MaxCount=1,
|
||||||
|
)[0]
|
||||||
|
|
||||||
|
instance_id_document = json.dumps(
|
||||||
|
ec2_utils.generate_instance_identity_document(test_instance)
|
||||||
|
)
|
||||||
|
|
||||||
|
response = ecs_client.register_container_instance(
|
||||||
|
cluster=test_cluster_name,
|
||||||
|
instanceIdentityDocument=instance_id_document
|
||||||
|
)
|
||||||
|
|
||||||
|
response['containerInstance']['ec2InstanceId'].should.equal(test_instance.id)
|
||||||
|
full_arn = response['containerInstance']['containerInstanceArn']
|
||||||
|
arn_part = full_arn.split('/')
|
||||||
|
arn_part[0].should.equal('arn:aws:ecs:us-east-1:012345678910:container-instance')
|
||||||
|
arn_part[1].should.equal(str(UUID(arn_part[1])))
|
||||||
|
response['containerInstance']['status'].should.equal('ACTIVE')
|
||||||
|
len(response['containerInstance']['registeredResources']).should.equal(0)
|
||||||
|
len(response['containerInstance']['remainingResources']).should.equal(0)
|
||||||
|
response['containerInstance']['agentConnected'].should.equal(True)
|
||||||
|
response['containerInstance']['versionInfo']['agentVersion'].should.equal('1.0.0')
|
||||||
|
response['containerInstance']['versionInfo']['agentHash'].should.equal('4023248')
|
||||||
|
response['containerInstance']['versionInfo']['dockerVersion'].should.equal('DockerVersion: 1.5.0')
|
||||||
|
|
||||||
|
@mock_ec2
|
||||||
|
@mock_ecs
|
||||||
|
def test_list_container_instances():
|
||||||
|
ecs_client = boto3.client('ecs', region_name='us-east-1')
|
||||||
|
ec2 = boto3.resource('ec2', region_name='us-east-1')
|
||||||
|
|
||||||
|
test_cluster_name = 'test_ecs_cluster'
|
||||||
|
_ = ecs_client.create_cluster(
|
||||||
|
clusterName=test_cluster_name
|
||||||
|
)
|
||||||
|
|
||||||
|
instance_to_create = 3
|
||||||
|
test_instance_arns = []
|
||||||
|
for i in range(0, instance_to_create):
|
||||||
|
test_instance = ec2.create_instances(
|
||||||
|
ImageId="ami-1234abcd",
|
||||||
|
MinCount=1,
|
||||||
|
MaxCount=1,
|
||||||
|
)[0]
|
||||||
|
|
||||||
|
instance_id_document = json.dumps(
|
||||||
|
ec2_utils.generate_instance_identity_document(test_instance)
|
||||||
|
)
|
||||||
|
|
||||||
|
response = ecs_client.register_container_instance(
|
||||||
|
cluster=test_cluster_name,
|
||||||
|
instanceIdentityDocument=instance_id_document)
|
||||||
|
|
||||||
|
test_instance_arns.append(response['containerInstance']['containerInstanceArn'])
|
||||||
|
|
||||||
|
response = ecs_client.list_container_instances(cluster=test_cluster_name)
|
||||||
|
|
||||||
|
len(response['containerInstanceArns']).should.equal(instance_to_create)
|
||||||
|
for arn in test_instance_arns:
|
||||||
|
response['containerInstanceArns'].should.contain(arn)
|
||||||
|
Loading…
Reference in New Issue
Block a user