Skip to content

Commit

Permalink
feat(ecs): add Amazon ECS Cypress tests
Browse files Browse the repository at this point in the history
  • Loading branch information
piradeepk authored and mergify[bot] committed Sep 28, 2020
1 parent d36922b commit 61cf058
Show file tree
Hide file tree
Showing 14 changed files with 1,232 additions and 4 deletions.
Expand Up @@ -3,7 +3,7 @@ import { module } from 'angular';
import { API } from '@spinnaker/core';
import { IEcsClusterDescriptor } from './IEcsCluster';

export class EscClusterReader {
export class EcsClusterReader {
public listClusters(): ng.IPromise<IEcsClusterDescriptor[]> {
return API.all('ecs')
.all('ecsClusters')
Expand All @@ -13,4 +13,4 @@ export class EscClusterReader {

export const ECS_CLUSTER_READ_SERVICE = 'spinnaker.ecs.ecsCluster.read.service';

module(ECS_CLUSTER_READ_SERVICE, []).service('ecsClusterReader', EscClusterReader);
module(ECS_CLUSTER_READ_SERVICE, []).service('ecsClusterReader', EcsClusterReader);
Expand Up @@ -31,7 +31,7 @@ import {
import { IAmazonLoadBalancer } from '@spinnaker/amazon';
import { DockerImageReader, IDockerImage } from '@spinnaker/docker';
import { IamRoleReader } from '../../iamRoles/iamRole.read.service';
import { EscClusterReader } from '../../ecsCluster/ecsCluster.read.service';
import { EcsClusterReader } from '../../ecsCluster/ecsCluster.read.service';
import { MetricAlarmReader } from '../../metricAlarm/metricAlarm.read.service';
import { IRoleDescriptor } from '../../iamRoles/IRole';
import { IMetricAlarmDescriptor } from '../../metricAlarm/MetricAlarm';
Expand Down Expand Up @@ -163,7 +163,7 @@ export class EcsServerGroupConfigurationService {
private loadBalancerReader: LoadBalancerReader,
private serverGroupCommandRegistry: ServerGroupCommandRegistry,
private iamRoleReader: IamRoleReader,
private ecsClusterReader: EscClusterReader,
private ecsClusterReader: EcsClusterReader,
private metricAlarmReader: MetricAlarmReader,
private placementStrategyService: PlacementStrategyService,
private securityGroupReader: SecurityGroupReader,
Expand Down
19 changes: 19 additions & 0 deletions test/functional/cypress/fixtures/default/application.ecsapp.json
@@ -0,0 +1,19 @@
{
"name": "ecsapp",
"attributes": {
"name": "ecsapp",
"email": "someemail@amazon.com",
"updateTs": "1600700470000",
"lastModifiedBy": "anonymous",
"cloudProviders": "ecs",
"trafficGuards": [],
"instancePort": 80,
"user": "[anonymous]",
"dataSources": {
"disabled": [],
"enabled": []
},
"accounts": "ecs-my-aws-devel-acct"
},
"clusters": {}
}
13 changes: 13 additions & 0 deletions test/functional/cypress/fixtures/default/applications.json
Expand Up @@ -12,6 +12,19 @@
"updateTs": "1544636963981",
"user": "[anonymous]"
},
{
"cloudProviders": "ecs",
"createTs": "1519160914577",
"dataSources": { "disabled": [], "enabled": ["canaryConfigs", "serverGroups", "loadBalancers", "securityGroups"] },
"email": "someemail@amazon.com",
"instancePort": 80,
"lastModifiedBy": "anonymous",
"name": "ecsapp",
"platformHealthOnly": true,
"providerSettings": { "ecs": { "associatePublicIpAddress": false } },
"updateTs": "1544636963981",
"user": "[anonymous]"
},
{
"cloudProviders": "kubernetes",
"createTs": "1538510658871",
Expand Down
32 changes: 32 additions & 0 deletions test/functional/cypress/fixtures/default/credentials.expand.json
@@ -1,4 +1,36 @@
[
{
"accountType": "ecs-provider",
"challengeDestructiveActions": false,
"cloudProvider": "ecs",
"environment": "ecs-provider",
"name": "ecs-provider",
"permissions": {},
"primaryAccount": false,
"providerVersion": "v1",
"requiredGroupMembership": [],
"skin": "v1",
"type": "ecs",
"authorized": true,
"cacheThreads": 1,
"spinnakerKindMap": {
"configMap": "configs",
"cronJob": "serverGroups",
"daemonSet": "serverGroups",
"deployment": "serverGroupManagers",
"ingress": "loadBalancers",
"job": "serverGroups",
"networkPolicy": "securityGroups",
"persistentVolume": "configs",
"persistentVolumeClaim": "configs",
"pod": "instances",
"replicaSet": "serverGroups",
"secret": "configs",
"service": "loadBalancers",
"statefulSet": "serverGroups"
},
"namespaces": ["default"]
},
{
"accountType": "kubernetes-v2-provider",
"challengeDestructiveActions": false,
Expand Down
17 changes: 17 additions & 0 deletions test/functional/cypress/fixtures/default/networks.aws.json
@@ -0,0 +1,17 @@
[
{
"account": "my-aws-devel-acct",
"cloudProvider": "aws",
"deprecated": false,
"id": "vpc-0a9ccfd1cba7bc715",
"name": "SpinnakerVPC",
"region": "us-west-2"
},
{
"account": "my-aws-devel-acct",
"cloudProvider": "aws",
"deprecated": false,
"id": "vpc-0c47d074",
"region": "us-west-2"
}
]
@@ -0,0 +1,147 @@
{
"capacity": {
"desired": 3,
"max": 6,
"min": 2,
"pinned": false
},
"cloudProvider": "ecs",
"createdTime": 1600701284469,
"disabled": false,
"ecsCluster": "spinnaker-deployment-cluster",
"image": {
"imageId": "123456789012.dkr.ecr.us-west-2.amazonaws.com/spinnaker-deployment-images:ecsimages",
"name": "123456789012.dkr.ecr.us-west-2.amazonaws.com/spinnaker-deployment-images:ecsimages"
},
"instanceCounts": {
"down": 0,
"outOfService": 0,
"starting": 0,
"total": 3,
"unknown": 0,
"up": 3
},
"instances": [
{
"cloudProvider": "ecs",
"health": [
{
"instanceId": "630cbec0-afa2-4529-80dd-5d84c9f7f4fa",
"state": "Up",
"type": "loadBalancer"
},
{
"healthClass": "platform",
"instanceId": "630cbec0-afa2-4529-80dd-5d84c9f7f4fa",
"state": "Up",
"type": "ecs"
}
],
"healthState": "Up",
"humanReadableName": "630cbec0-afa2-4529-80dd-5d84c9f7f4fa",
"labels": {},
"launchTime": 1600701322415,
"name": "630cbec0-afa2-4529-80dd-5d84c9f7f4fa",
"networkInterface": {
"attachmentId": "1eda706a-2133-4d6c-bf10-99e783613227",
"privateIpv4Address": "10.0.153.137"
},
"providerType": "ecs"
},
{
"cloudProvider": "ecs",
"health": [
{
"instanceId": "f46861e5-ae1f-48df-ae26-52eeefa85423",
"state": "Up",
"type": "loadBalancer"
},
{
"healthClass": "platform",
"instanceId": "f46861e5-ae1f-48df-ae26-52eeefa85423",
"state": "Up",
"type": "ecs"
}
],
"healthState": "Up",
"humanReadableName": "f46861e5-ae1f-48df-ae26-52eeefa85423",
"labels": {},
"launchTime": 1600701322419,
"name": "f46861e5-ae1f-48df-ae26-52eeefa85423",
"networkInterface": {
"attachmentId": "b0ca174b-4897-4a39-8332-7242c1622236",
"privateIpv4Address": "10.0.226.126"
},
"providerType": "ecs"
},
{
"cloudProvider": "ecs",
"health": [
{
"instanceId": "97c4f01c-6bba-4ba0-a0bb-a4d20d39a6d7",
"state": "Up",
"type": "loadBalancer"
},
{
"healthClass": "platform",
"instanceId": "97c4f01c-6bba-4ba0-a0bb-a4d20d39a6d7",
"state": "Up",
"type": "ecs"
}
],
"healthState": "Up",
"humanReadableName": "97c4f01c-6bba-4ba0-a0bb-a4d20d39a6d7",
"labels": {},
"launchTime": 1600701322264,
"name": "97c4f01c-6bba-4ba0-a0bb-a4d20d39a6d7",
"networkInterface": {
"attachmentId": "424d64f5-3513-477b-89a9-e4608aa0fad5",
"privateIpv4Address": "10.0.252.35"
},
"providerType": "ecs"
}
],
"labels": {},
"metricAlarms": [],
"moniker": {
"app": "ecsapp",
"cluster": "aws-prod-ecsdemo",
"detail": "ecsdemo",
"sequence": 0,
"stack": "prod"
},
"name": "aws-prod-ecsdemo-v000",
"region": "us-west-2",
"securityGroups": ["sg-0fd7ba18d92eb6fe8"],
"serverGroupManagers": [],
"taskDefinition": {
"containerImage": "123456789012.dkr.ecr.us-west-2.amazonaws.com/spinnaker-deployment-images:ecsimages",
"containerPort": 81,
"cpuUnits": 256,
"environmentVariables": [
{
"name": "CLOUD_DETAIL",
"value": "ecsdemo"
},
{
"name": "SERVER_GROUP",
"value": "aws-prod-ecsdemo-v000"
},
{
"name": "CLOUD_STACK",
"value": "prod"
},
{
"name": "PORT",
"value": "80"
}
],
"iamRole": "None",
"memoryLimit": 512,
"memoryReservation": 512,
"taskName": "aws-prod-ecsdemo:91"
},
"type": "ecs",
"vpcId": "vpc-0a9ccfd1cba7bc715",
"insightActions": []
}

0 comments on commit 61cf058

Please sign in to comment.