Search in sources :

Example 1 with ContentPackResponse

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);
}
Also used : ConstraintCheckResult(org.graylog2.contentpacks.model.constraints.ConstraintCheckResult) ContentPack(org.graylog2.contentpacks.model.ContentPack) NotFoundException(javax.ws.rs.NotFoundException) Path(javax.ws.rs.Path) Timed(com.codahale.metrics.annotation.Timed) GET(javax.ws.rs.GET) ApiOperation(io.swagger.annotations.ApiOperation) JsonView(com.fasterxml.jackson.annotation.JsonView) ApiResponses(io.swagger.annotations.ApiResponses)

Example 2 with ContentPackResponse

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);
}
Also used : ConstraintCheckResult(org.graylog2.contentpacks.model.constraints.ConstraintCheckResult) Set(java.util.Set) ContentPackRevisions(org.graylog2.rest.models.system.contentpacks.responses.ContentPackRevisions) ContentPack(org.graylog2.contentpacks.model.ContentPack) ContentPackResponse(org.graylog2.rest.models.system.contentpacks.responses.ContentPackResponse) ModelId(org.graylog2.contentpacks.model.ModelId) Test(org.junit.Test)

Aggregations

ContentPack (org.graylog2.contentpacks.model.ContentPack)2 ConstraintCheckResult (org.graylog2.contentpacks.model.constraints.ConstraintCheckResult)2 Timed (com.codahale.metrics.annotation.Timed)1 JsonView (com.fasterxml.jackson.annotation.JsonView)1 ApiOperation (io.swagger.annotations.ApiOperation)1 ApiResponses (io.swagger.annotations.ApiResponses)1 Set (java.util.Set)1 GET (javax.ws.rs.GET)1 NotFoundException (javax.ws.rs.NotFoundException)1 Path (javax.ws.rs.Path)1 ModelId (org.graylog2.contentpacks.model.ModelId)1 ContentPackResponse (org.graylog2.rest.models.system.contentpacks.responses.ContentPackResponse)1 ContentPackRevisions (org.graylog2.rest.models.system.contentpacks.responses.ContentPackRevisions)1 Test (org.junit.Test)1