def run(self, containers, family, app=app): apps = [] with app.app_context(): for container in containers: try: repo, commit_hash = container[0].split(':') except ValueError: raise ValueError('"{}" should look like repo:id'.format( container[0])) build = Build.query.join(Commit).filter( Commit.repository == repo, or_(Commit.commit_hash == commit_hash, Commit.tag == commit_hash), ).first() if build is None: raise NoResultFound("No row found for {}/{}".format( repo, commit_hash)) apps.append( ECSBuilder.DockerContainer( build=build, environment=container[1], memory=container[2], portmappings=[{ "hostPort": 8080, "containerPort": 80 }] if repo == "adsws" else None, )) tmpl = ECSBuilder(apps, family=family).render_template() print(tmpl) return tmpl
def setUp(self): self.commit = Commit(commit_hash='master', repository="adsws") self.build = Build(commit=self.commit) self.containers = [ ECSBuilder.DockerContainer(self.build, environment="staging", memory=m, portmappings=[{ "hostPort": 8080, "containerPort": 80 }] if m == 10 else None) for m in range(10, 50, 10) ] self.builder = ECSBuilder(self.containers, family="unittest")