Skip to content

Commit

Permalink
switching to single chart version
Browse files Browse the repository at this point in the history
  • Loading branch information
lucymcnatt committed May 21, 2024
1 parent 7e225ee commit 37e8767
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ public ResponseEntity<Void> createChartVersions(List<ChartVersion> body) {
}

@Override
public ResponseEntity<Void> deleteChartVersions(List<String> body) {
this.chartService.deleteVersions(body);
public ResponseEntity<Void> deleteChartVersion(String body) {
this.chartService.deleteVersion(body);
return ResponseEntity.noContent().build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ public void createVersions(@NotNull List<ChartVersion> versions) {
/**
* Soft-delete the specified chart entries with associated chartName.
*
* @param names non-null list of {@ ChartName}s to delete
* @param names non-null {@ ChartName} to delete
*/
public void deleteVersions(@NotNull List<String> names) {
chartVersionDao.delete(names);
public void deleteVersion(@NotNull String name) {
chartVersionDao.delete(List.of(name));
}

/**
Expand Down
15 changes: 6 additions & 9 deletions service/src/main/resources/api/openapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,22 +61,19 @@ paths:
$ref: '#/components/responses/ServerError'
delete:
tags: [ admin ]
summary: Delete ChartVersions
operationId: deleteChartVersions
summary: Delete ChartVersion
operationId: deleteChartVersion
security: [ ] # TODO: remove this to turn on "security"
parameters:
- in: query
name: chartNames
description: Array of chartName(s) to delete.
name: chartName
description: ChartName to delete.
required: true
schema:
type: array
items:
type: string
style: pipeDelimited
type: string
responses:
'204':
description: ChartVersion(s) have been successfully deleted
description: ChartVersion has been successfully deleted
'403':
description: Request did not come from an admin
'500':
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ class AdminControllerTest {
@Autowired AdminController controller;

@Captor ArgumentCaptor<List<bio.terra.appmanager.model.ChartVersion>> capture_chartVersions;
@Captor ArgumentCaptor<List<String>> capture_chartNames;
@Captor ArgumentCaptor<String> capture_chartName;

private AutoCloseable closeable;

Expand Down Expand Up @@ -155,29 +155,11 @@ void testDelete_204() throws Exception {
String chartName = "chart-name-here";

mockMvc
.perform(delete("/api/admin/v1/charts/versions").queryParam("chartNames", chartName))
.perform(delete("/api/admin/v1/charts/versions").queryParam("chartName", chartName))
.andExpect(status().isNoContent());

verify(serviceMock).deleteVersions(capture_chartNames.capture());
assert (capture_chartNames.getValue().size() == 1);
assertEquals(capture_chartNames.getValue().get(0), chartName);
}

@Test
void testDelete_204_multipleChartNames() throws Exception {
String chartName1 = "chart-name-1";
String chartName2 = "chart-name-2";

mockMvc
.perform(
delete("/api/admin/v1/charts/versions")
.queryParam("chartNames", chartName1, chartName2))
.andExpect(status().isNoContent());

verify(serviceMock).deleteVersions(capture_chartNames.capture());
assert (capture_chartNames.getValue().size() == 2);
assertEquals(capture_chartNames.getValue().get(0), chartName1);
assertEquals(capture_chartNames.getValue().get(1), chartName2);
verify(serviceMock).deleteVersion(capture_chartName.capture());
assertEquals(capture_chartName.getValue(), chartName);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,31 +64,17 @@ void testCreateChartVersion_multipleElement() {
}

@Test
void testDeleteVersions_singleElement() {
void testDeleteVersion() {
String chartName1 = "chart-name-here";

ArgumentCaptor<List<String>> argument = ArgumentCaptor.forClass(List.class);

chartService.deleteVersions(List.of(chartName1));
chartService.deleteVersion(chartName1);
verify(chartVersionDao, times(1)).delete(argument.capture());
assertEquals(1, argument.getValue().size());
assertEquals(chartName1, argument.getValue().get(0));
}

@Test
void testDeleteVersions_multipleElements() {
String chartName1 = "chart-name-1";
String chartName2 = "chart-name-2";

ArgumentCaptor<List<String>> argument = ArgumentCaptor.forClass(List.class);

chartService.deleteVersions(List.of(chartName1, chartName2));
verify(chartVersionDao, times(1)).delete(argument.capture());
assertEquals(2, argument.getValue().size());
assertEquals(chartName1, argument.getValue().get(0));
assertEquals(chartName2, argument.getValue().get(1));
}

@Test
void testGetVersions() {
List<String> chartNameList = List.of("chart-name-here");
Expand Down

0 comments on commit 37e8767

Please sign in to comment.