async function validateECSTestTask()

in apps/firelens-stability/lib/cloud/ecs.ts [257:280]


async function validateECSTestTask(ecs: AWS.ECS, ecsTestTask: IEcsTestTask) {     
    const currentTasks = await ecs.describeTasks({cluster: ecsTestTask.testCase.config.cluster, tasks: ecsTestTask.executionRecord.taskArns}).promise();
    const startingTasks = currentTasks.tasks
        .filter(t => (t.taskDefinitionArn === ecsTestTask.taskDefinitionArn) &&
            (t.lastStatus === "PROVISIONING" || t.lastStatus === "PENDING" || t.lastStatus === "ACTIVATING"))
        .map(t => t.taskArn);
    const runningTasks = currentTasks.tasks
        .filter(t => (t.taskDefinitionArn === ecsTestTask.taskDefinitionArn) &&
           (t.lastStatus === "RUNNING"))
        .map(t => t.taskArn);
        
    const startingTasksCount = startingTasks.length;
    const runningTasksCount = runningTasks.length;
    const endedTasksCount = ecsTestTask.executionRecord.taskArns.length - startingTasks.length - runningTasks.length;

    return {
        currentTasks,
        startingTasks,
        runningTasks,
        startingTasksCount,
        runningTasksCount,
        endedTasksCount,
    }
}