@Override public ListClustersResponse listClusters(ListClustersRequest request) { return ListClustersResponse.builder() .clusters( Collections.singletonList( Cluster.builder().accountId(accountId).clusterName(clusterName).build())) .build(); }
@Test public void testToListEnvironmentsRequest() { final ApiGatewayRequestContext context = new ApiGatewayRequestContext(); context.setAccountId(ACCOUNT_ID); final ListEnvironmentsRequest request = mapper.toListEnvironmentsRequest(context, CLUSTER, ENVIRONMENT_NAME_PREFIX); assertThat(request.getCluster().getAccountId()).isEqualTo(ACCOUNT_ID); assertThat(request.getCluster().getClusterName()).isEqualTo(CLUSTER); assertThat(request.getEnvironmentNamePrefix()).isEqualTo(ENVIRONMENT_NAME_PREFIX); }
@Override @SneakyThrows // TODO add checked exception handling public ManagerOutput handleRequest(ManagerInput input, Context context) { log.debug("Manager request: {}", input); ListEnvironmentsResponse r = data.listEnvironments( ListEnvironmentsRequest.builder().cluster(input.getCluster()).build()); List<EnvironmentId> environments = r.getEnvironmentIds(); ClusterSnapshot state = ecs.snapshotState(input.getCluster().getClusterName()); Stream<CompletableFuture<SchedulerOutput>> pendingRequests = environments .stream() .map(environmentId -> scheduler.callAsync(new SchedulerInput(state, environmentId))); List<SchedulerOutput> outputs = pendingRequests.collect(CompletableFutures.joinList()).join(); return new ManagerOutput(input.getCluster(), outputs); } }
public ClusterBuilder cluster() { return Cluster.builder().accountId(accountId).clusterName(clusterName); } }
@Bean public DataService dataService() throws Exception { return when(mock(DataService.class).listClusters(ListClustersRequest.builder().build())) .thenReturn( ListClustersResponse.builder() .clusters( Collections.singletonList( Cluster.builder() .accountId(ACCOUNT_ID) .clusterName(CLUSTER_NAME) .build())) .build()) .getMock(); }
@Bean public DataService dataService() throws Exception { return when(mock(DataService.class) .listEnvironments( ListEnvironmentsRequest.builder() .cluster( Cluster.builder().accountId(ACCOUNT_ID).clusterName(CLUSTER_NAME).build()) .build())) .thenReturn( ListEnvironmentsResponse.builder() .environmentIds( Collections.singletonList( EnvironmentId.builder() .accountId(ACCOUNT_ID) .cluster(CLUSTER_NAME) .environmentName(ENVIRONMENT_NAME) .build())) .build()) .getMock(); }