Skip to content

Commit a88ca91

Browse files
authored
listTaskDefinitions -> listTaskDefinitionFamilies (aws#738)
1 parent a802605 commit a88ca91

File tree

4 files changed

+37
-36
lines changed

4 files changed

+37
-36
lines changed

src/shared/clients/defaultEcsClient.ts

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,14 @@ export class DefaultEcsClient implements EcsClient {
3939
} while (request.nextToken)
4040
}
4141

42-
public async *listTaskDefinitions(): AsyncIterableIterator<string> {
42+
public async *listTaskDefinitionFamilies(): AsyncIterableIterator<string> {
4343
const sdkClient = await this.createSdkClient()
4444
// do we also want to cover inactive? If so, would we want to use a separate function?
45-
const request: ECS.ListTaskDefinitionsRequest = {
46-
status: 'ACTIVE'
47-
}
45+
const request: ECS.ListTaskDefinitionFamiliesRequest = {}
4846
do {
49-
const response = await this.invokeListTaskDefinitions(request, sdkClient)
50-
if (response.taskDefinitionArns) {
51-
yield* response.taskDefinitionArns
47+
const response = await this.invokeListTaskDefinitionFamilies(request, sdkClient)
48+
if (response.families) {
49+
yield* response.families
5250
}
5351
request.nextToken = response.nextToken
5452
} while (request.nextToken)
@@ -64,9 +62,9 @@ export class DefaultEcsClient implements EcsClient {
6462
return sdkClient.listServices(request).promise()
6563
}
6664

67-
protected async invokeListTaskDefinitions(request: ECS.ListTaskDefinitionsRequest, sdkClient: ECS)
68-
: Promise<ECS.ListTaskDefinitionsResponse> {
69-
return sdkClient.listTaskDefinitions(request).promise()
65+
protected async invokeListTaskDefinitionFamilies(request: ECS.ListTaskDefinitionFamiliesRequest, sdkClient: ECS)
66+
: Promise<ECS.ListTaskDefinitionFamiliesResponse> {
67+
return sdkClient.listTaskDefinitionFamilies(request).promise()
7068
}
7169

7270
protected async createSdkClient(): Promise<ECS> {

src/shared/clients/ecsClient.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,5 @@ export interface EcsClient {
1010

1111
listServices(cluster: string): AsyncIterableIterator<string>
1212

13-
listTaskDefinitions(): AsyncIterableIterator<string>
13+
listTaskDefinitionFamilies(): AsyncIterableIterator<string>
1414
}

src/test/shared/clients/defaultEcsClient.test.ts

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -120,39 +120,39 @@ describe('defaultEcsClient', async () => {
120120
})
121121
})
122122

123-
describe('ListTaskDefinitions', async () => {
123+
describe('ListTaskDefinitionFamilies', async () => {
124124

125-
it('lists task definitions from a single page', async () => {
126-
const targetArr = ['arn1', 'arn2', 'arn3']
127-
testClient.listTaskDefinitionsResponses = [{
128-
taskDefinitionArns: targetArr
125+
it('lists task definition families from a single page', async () => {
126+
const targetArr = ['fam1', 'fam2', 'fam3']
127+
testClient.listTaskDefinitionFamiliesResponses = [{
128+
families: targetArr
129129
}]
130-
const iterator = testClient.listTaskDefinitions()
130+
const iterator = testClient.listTaskDefinitionFamilies()
131131
const arr = []
132132
for await (const item of iterator) {
133133
arr.push(item)
134134
}
135135
assert.deepStrictEqual(targetArr, arr)
136136
})
137137

138-
it('lists task definitions from multiple pages', async () => {
139-
const targetArr1 = ['arn1', 'arn2', 'arn3']
140-
const targetArr2 = ['arn4', 'arn5', 'arn6']
141-
const targetArr3 = ['arn7', 'arn8', 'arn9']
142-
testClient.listTaskDefinitionsResponses = [
138+
it('lists task definition families from multiple pages', async () => {
139+
const targetArr1 = ['fam1', 'fam2', 'fam3']
140+
const targetArr2 = ['fam4', 'fam5', 'fam6']
141+
const targetArr3 = ['fam7', 'fam8', 'fam9']
142+
testClient.listTaskDefinitionFamiliesResponses = [
143143
{
144-
taskDefinitionArns: targetArr1,
144+
families: targetArr1,
145145
nextToken: 'there i go, turn the page'
146146
},
147147
{
148-
taskDefinitionArns: targetArr2,
148+
families: targetArr2,
149149
nextToken: 'you can write a book with all these pages'
150150
},
151151
{
152-
taskDefinitionArns: targetArr3
152+
families: targetArr3
153153
}
154154
]
155-
const iterator = testClient.listTaskDefinitions()
155+
const iterator = testClient.listTaskDefinitionFamilies()
156156
const arr = []
157157
for await (const item of iterator) {
158158
arr.push(item)
@@ -161,9 +161,9 @@ describe('defaultEcsClient', async () => {
161161
})
162162

163163
it('handles errors', async () => {
164-
testClient.listTaskDefinitionsResponses = new Error() as AWSError
164+
testClient.listTaskDefinitionFamiliesResponses = new Error() as AWSError
165165
await assertThrowsError(async () => {
166-
const iterator = testClient.listTaskDefinitions()
166+
const iterator = testClient.listTaskDefinitionFamilies()
167167
const arr = []
168168
for await (const item of iterator) {
169169
arr.push(item)
@@ -179,7 +179,7 @@ class TestEcsClient extends DefaultEcsClient {
179179

180180
public listServicesResponses: ECS.ListServicesResponse[] | AWSError = [{}]
181181

182-
public listTaskDefinitionsResponses: ECS.ListTaskDefinitionsResponse[] | AWSError = [{}]
182+
public listTaskDefinitionFamiliesResponses: ECS.ListTaskDefinitionFamiliesResponse[] | AWSError = [{}]
183183

184184
private pageNum: number = 0
185185

@@ -213,10 +213,13 @@ class TestEcsClient extends DefaultEcsClient {
213213
}
214214
}
215215

216-
protected async invokeListTaskDefinitions(request: ECS.ListTaskDefinitionsRequest)
217-
: Promise<ECS.ListTaskDefinitionsResponse> {
216+
protected async invokeListTaskDefinitionFamilies(request: ECS.ListTaskDefinitionFamiliesRequest)
217+
: Promise<ECS.ListTaskDefinitionFamiliesResponse> {
218218
const responseDatum =
219-
this.getResponseDatum<ECS.ListTaskDefinitionsResponse>(this.listTaskDefinitionsResponses, request.nextToken)
219+
this.getResponseDatum<ECS.ListTaskDefinitionFamiliesResponse>(
220+
this.listTaskDefinitionFamiliesResponses,
221+
request.nextToken
222+
)
220223

221224
if (responseDatum instanceof Error) {
222225
throw responseDatum

src/test/shared/clients/mockClients.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,23 +67,23 @@ export class MockEcsClient implements EcsClient {
6767
public readonly regionCode: string
6868
public readonly listClusters: () => AsyncIterableIterator<string>
6969
public readonly listServices: (cluster: string) => AsyncIterableIterator<string>
70-
public readonly listTaskDefinitions: () => AsyncIterableIterator<string>
70+
public readonly listTaskDefinitionFamilies: () => AsyncIterableIterator<string>
7171

7272
public constructor({
7373
regionCode = '',
7474
listClusters = () => asyncGenerator([]),
7575
listServices = (cluster: string) => asyncGenerator([]),
76-
listTaskDefinitions = () => asyncGenerator([])
76+
listTaskDefinitionFamilies = () => asyncGenerator([])
7777
}: {
7878
regionCode?: string
7979
listClusters?(): AsyncIterableIterator<string>
8080
listServices?(cluster: string): AsyncIterableIterator<string>
81-
listTaskDefinitions?(): AsyncIterableIterator<string>
81+
listTaskDefinitionFamilies?(): AsyncIterableIterator<string>
8282
}) {
8383
this.regionCode = regionCode
8484
this.listClusters = listClusters
8585
this.listServices = listServices
86-
this.listTaskDefinitions = listTaskDefinitions
86+
this.listTaskDefinitionFamilies = listTaskDefinitionFamilies
8787
}
8888
}
8989

0 commit comments

Comments
 (0)