Skip to content

Commit

Permalink
feat: test backend now supports parallel tests (#887)
Browse files Browse the repository at this point in the history
  • Loading branch information
richardtreier authored Apr 16, 2024
1 parent 9ba9dcd commit 8d1b3e7
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ please see [changelog_updates.md](docs/dev/changelog_updates.md).
#### Patch Changes

- Fixed catalog fetching errors caused by MDS property name
- Test Backend: Support parallel test by optional "testId" path parameter

### Deployment Migration Notes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,31 @@
import jakarta.ws.rs.GET;
import jakarta.ws.rs.PUT;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.QueryParam;
import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.UriInfo;

import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.ConcurrentHashMap;

@Path("/test-backend")
public class TestBackendController {
private final AtomicReference<String> stringValue = new AtomicReference<>("");

private final ConcurrentHashMap<String, String> dataSink = new ConcurrentHashMap<>();

@GET
@Path("/data-sink/spy")
@Produces(MediaType.APPLICATION_JSON)
public String getDataSinkValue() {
return stringValue.get();
return getDataSinkValue("default");
}

@PUT
@Path("/data-sink")
public void setDataSinkValue(String incomingData) {
stringValue.set(incomingData);
setDataSinkValue("default", incomingData);
}

@GET
Expand All @@ -54,4 +56,17 @@ public String echoForDataSource(@QueryParam("data") String message) {
public String echoDataSourceQueryParams(@Context UriInfo uriInfo) {
return uriInfo.getRequestUri().getQuery();
}

@GET
@Path("/{testId}/data-sink/spy")
@Produces(MediaType.APPLICATION_JSON)
public String getDataSinkValue(@PathParam("testId") String testId) {
return dataSink.getOrDefault(testId, "");
}

@PUT
@Path("/{testId}/data-sink")
public void setDataSinkValue(@PathParam("testId") String testId, String incomingData) {
dataSink.put(testId, incomingData);
}
}

0 comments on commit 8d1b3e7

Please sign in to comment.