Add deployments to the ecs services (describe_services)

This commit is contained in:
Michael van Tellingen 2017-04-14 18:40:47 +02:00
parent 34c711189f
commit 0ae6e404d0
2 changed files with 27 additions and 1 deletions

View File

@ -1,7 +1,9 @@
from __future__ import unicode_literals
import uuid
from random import random
from datetime import datetime
from random import random, randint
import pytz
from moto.core import BaseBackend, BaseModel
from moto.ec2 import ec2_backends
from copy import copy
@ -174,6 +176,18 @@ class Service(BaseObject):
self.task_definition = task_definition.arn
self.desired_count = desired_count
self.events = []
self.deployments = [
{
'createdAt': datetime.now(pytz.utc),
'desiredCount': self.desired_count,
'id': 'ecs-svc/{}'.format(randint(0, 32**12)),
'pendingCount': self.desired_count,
'runningCount': 0,
'status': 'PRIMARY',
'taskDefinition': task_definition.arn,
'updatedAt': datetime.now(pytz.utc),
}
]
self.load_balancers = []
self.pending_count = 0
@ -187,6 +201,13 @@ class Service(BaseObject):
del response_object['name'], response_object['arn']
response_object['serviceName'] = self.name
response_object['serviceArn'] = self.arn
for deployment in response_object['deployments']:
if isinstance(deployment['createdAt'], datetime):
deployment['createdAt'] = deployment['createdAt'].isoformat()
if isinstance(deployment['updatedAt'], datetime):
deployment['updatedAt'] = deployment['updatedAt'].isoformat()
return response_object
@classmethod

View File

@ -402,6 +402,11 @@ def test_describe_services():
'arn:aws:ecs:us-east-1:012345678910:service/test_ecs_service2')
response['services'][1]['serviceName'].should.equal('test_ecs_service2')
response['services'][0]['deployments'][0]['desiredCount'].should.equal(2)
response['services'][0]['deployments'][0]['pendingCount'].should.equal(2)
response['services'][0]['deployments'][0]['runningCount'].should.equal(0)
response['services'][0]['deployments'][0]['status'].should.equal('PRIMARY')
@mock_ecs
def test_update_service():