feat: Fargate

This commit is contained in:
Zakaria
2026-10-02 09:53:45 -04:00
parent 7f08f5b668
commit 2d8ff50a99
27 changed files with 574 additions and 35 deletions
@@ -0,0 +1,20 @@
import {render, screen} from '@testing-library/react'
import {expect, test} from 'vitest'
import {EcsServicePanel} from './EcsServicePanel'
test('shows Fargate awsvpc task, IP target, and ALB endpoint health', () => {
render(<EcsServicePanel resource={{id: 'orders-cluster|orders', name: 'orders', cloud: 'aws', service: 'ecs', type: 'ecs-service', region: 'us-east-1', createdAt: null, metadata: {cluster: 'orders-cluster', launchType: 'FARGATE', desiredCount: 1, runningCount: 1, networkConfiguration: {subnets: ['subnet-1'], securityGroups: ['sg-1'], assignPublicIp: 'ENABLED'}, tasks: [{arn: 'task-1', lastStatus: 'RUNNING', healthStatus: 'HEALTHY', connectivity: 'CONNECTED'}], loadBalancers: [{targetGroupArn: 'tg-1', targetType: 'ip', targets: [{id: '10.0.1.5', port: 8080, state: 'healthy'}], endpoints: [{dnsName: 'orders.example.test', scheme: 'internet-facing', state: 'active'}]}]}}}/>)
expect(screen.getByText('Fargate service state')).toBeInTheDocument()
expect(screen.getByText('awsvpc networking: subnets subnet-1 | security groups sg-1 | public IP ENABLED')).toBeInTheDocument()
expect(screen.getByText('HEALTHY')).toBeInTheDocument()
expect(screen.getByText('orders.example.test')).toBeInTheDocument()
expect(screen.getByText('10.0.1.5:8080')).toBeInTheDocument()
})
test('labels inactive services as not running instead of showing stale counts', () => {
render(<EcsServicePanel resource={{id: 'orders-cluster|orders', name: 'orders', cloud: 'aws', service: 'ecs', type: 'ecs-service', region: 'us-east-1', createdAt: null, status: 'INACTIVE', metadata: {cluster: 'orders-cluster', launchType: 'FARGATE', desiredCount: 2, runningCount: 2, inactive: true}}}/>)
expect(screen.getByText('Inactive, not running')).toBeInTheDocument()
expect(screen.queryByText('Running 2 of 2')).not.toBeInTheDocument()
})