use of org.graylog2.rest.models.system.contentpacks.responses.ContentPackResponse in project graylog2-server by Graylog2.
the class ContentPackResource method getContentPackRevisions.
@GET
@Path("{contentPackId}/{revision}")
@Timed
@ApiOperation(value = "Get a revision of a content pack")
@ApiResponses(value = { @ApiResponse(code = 500, message = "Error loading content packs") })
@JsonView(ContentPackView.HttpView.class)
public ContentPackResponse getContentPackRevisions(@ApiParam(name = "contentPackId", value = "Content pack ID", required = true) @PathParam("contentPackId") ModelId id, @ApiParam(name = "revision", value = "Content pack revision", required = true) @PathParam("revision") int revision) {
checkPermission(RestPermissions.CONTENT_PACK_READ);
ContentPack contentPack = contentPackPersistenceService.findByIdAndRevision(id, revision).orElseThrow(() -> new NotFoundException("Content pack " + id + " with revision " + revision + " not found!"));
Set<ConstraintCheckResult> constraints = contentPackService.checkConstraints(contentPack);
return ContentPackResponse.create(contentPack, constraints);
}
use of org.graylog2.rest.models.system.contentpacks.responses.ContentPackResponse in project graylog2-server by Graylog2.
the class ContentPackResourceTest method getContentPack.
@Test
public void getContentPack() throws Exception {
final ContentPack contentPack = objectMapper.readValue(CONTENT_PACK, ContentPack.class);
final Set<ContentPack> contentPackSet = Collections.singleton(contentPack);
final Set<ConstraintCheckResult> constraints = Collections.emptySet();
final Map<Integer, ContentPack> contentPacks = Collections.singletonMap(1, contentPack);
final Map<Integer, Set<ConstraintCheckResult>> constraintMap = Collections.singletonMap(1, constraints);
final ContentPackRevisions expectedRevisions = ContentPackRevisions.create(contentPacks, constraintMap);
final ModelId id = ModelId.of("1");
when(contentPackPersistenceService.findAllById(id)).thenReturn(contentPackSet);
final ContentPackRevisions contentPackRevisions = contentPackResource.listContentPackRevisions(id);
verify(contentPackPersistenceService, times(1)).findAllById(id);
assertThat(contentPackRevisions).isEqualTo(expectedRevisions);
when(contentPackPersistenceService.findByIdAndRevision(id, 1)).thenReturn(Optional.ofNullable(contentPack));
final ContentPackResponse contentPackResponse = contentPackResource.getContentPackRevisions(id, 1);
verify(contentPackPersistenceService, times(1)).findByIdAndRevision(id, 1);
assertThat(contentPackResponse.contentPack()).isEqualTo(contentPack);
}
Aggregations