Search in sources :

Example 1 with ConstraintChecker

use of org.graylog2.contentpacks.constraints.ConstraintChecker in project graylog2-server by Graylog2.

the class ContentPackService method checkConstraintsV1.

private Set<ConstraintCheckResult> checkConstraintsV1(ContentPackV1 contentPackV1) {
    Set<Constraint> requiredConstraints = contentPackV1.constraints();
    final Set<ConstraintCheckResult> fulfilledConstraints = new HashSet<>();
    for (ConstraintChecker constraintChecker : constraintCheckers) {
        fulfilledConstraints.addAll(constraintChecker.checkConstraints(requiredConstraints));
    }
    return fulfilledConstraints;
}
Also used : ConstraintCheckResult(org.graylog2.contentpacks.model.constraints.ConstraintCheckResult) Constraint(org.graylog2.contentpacks.model.constraints.Constraint) ConstraintChecker(org.graylog2.contentpacks.constraints.ConstraintChecker) HashSet(java.util.HashSet)

Example 2 with ConstraintChecker

use of org.graylog2.contentpacks.constraints.ConstraintChecker in project graylog2-server by Graylog2.

the class GraylogVersionConstraintCheckerTest method checkConstraints.

@Test
public void checkConstraints() {
    final GraylogVersionConstraintChecker constraintChecker = new GraylogVersionConstraintChecker("1.0.0");
    final GraylogVersionConstraint graylogVersionConstraint = GraylogVersionConstraint.builder().version("^1.0.0").build();
    final PluginVersionConstraint pluginVersionConstraint = PluginVersionConstraint.builder().pluginId("unique-id").version("^1.0.0").build();
    final ImmutableSet<Constraint> requiredConstraints = ImmutableSet.of(graylogVersionConstraint, pluginVersionConstraint);
    final Set<ConstraintCheckResult> result = constraintChecker.checkConstraints(requiredConstraints);
    assertThat(result.stream().allMatch(c -> c.fulfilled())).isTrue();
}
Also used : ConstraintCheckResult(org.graylog2.contentpacks.model.constraints.ConstraintCheckResult) PluginVersionConstraint(org.graylog2.contentpacks.model.constraints.PluginVersionConstraint) GraylogVersionConstraint(org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint) PluginVersionConstraint(org.graylog2.contentpacks.model.constraints.PluginVersionConstraint) Constraint(org.graylog2.contentpacks.model.constraints.Constraint) GraylogVersionConstraint(org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint) Test(org.junit.Test)

Example 3 with ConstraintChecker

use of org.graylog2.contentpacks.constraints.ConstraintChecker in project graylog2-server by Graylog2.

the class GraylogVersionConstraintCheckerTest method checkConstraintsFails.

@Test
public void checkConstraintsFails() {
    final GraylogVersionConstraintChecker constraintChecker = new GraylogVersionConstraintChecker("1.0.0");
    final GraylogVersionConstraint graylogVersionConstraint = GraylogVersionConstraint.builder().version("^2.0.0").build();
    final PluginVersionConstraint pluginVersionConstraint = PluginVersionConstraint.builder().pluginId("unique-id").version("^1.0.0").build();
    final ImmutableSet<Constraint> requiredConstraints = ImmutableSet.of(graylogVersionConstraint, pluginVersionConstraint);
    final Set<ConstraintCheckResult> result = constraintChecker.checkConstraints(requiredConstraints);
    assertThat(result.stream().allMatch(c -> !c.fulfilled())).isTrue();
}
Also used : ConstraintCheckResult(org.graylog2.contentpacks.model.constraints.ConstraintCheckResult) PluginVersionConstraint(org.graylog2.contentpacks.model.constraints.PluginVersionConstraint) GraylogVersionConstraint(org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint) PluginVersionConstraint(org.graylog2.contentpacks.model.constraints.PluginVersionConstraint) Constraint(org.graylog2.contentpacks.model.constraints.Constraint) GraylogVersionConstraint(org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint) Test(org.junit.Test)

Example 4 with ConstraintChecker

use of org.graylog2.contentpacks.constraints.ConstraintChecker in project graylog2-server by Graylog2.

the class ContentPackServiceTest method setUp.

@Before
public void setUp() throws Exception {
    final ContentPackInstallationPersistenceService contentPackInstallationPersistenceService = contentPackInstallService;
    final Set<ConstraintChecker> constraintCheckers = Collections.emptySet();
    pluginMetaData = new HashSet<>();
    outputFactories = new HashMap<>();
    outputFactories2 = new HashMap<>();
    final Map<ModelType, EntityWithExcerptFacade<?, ?>> entityFacades = ImmutableMap.of(ModelTypes.GROK_PATTERN_V1, new GrokPatternFacade(objectMapper, patternService), ModelTypes.STREAM_V1, new StreamFacade(objectMapper, streamService, streamRuleService, alertService, alarmCallbackConfigurationService, legacyAlertConditionMigration, indexSetService, userService), ModelTypes.OUTPUT_V1, new OutputFacade(objectMapper, outputService, pluginMetaData, outputFactories, outputFactories2));
    contentPackService = new ContentPackService(contentPackInstallationPersistenceService, constraintCheckers, entityFacades);
    Map<String, String> entityData = new HashMap<>(2);
    entityData.put("name", "NAME");
    entityData.put("pattern", "\\w");
    grokPattern = GrokPattern.builder().pattern("\\w").name("NAME").build();
    JsonNode jsonData = objectMapper.convertValue(entityData, JsonNode.class);
    EntityV1 entityV1 = EntityV1.builder().id(ModelId.of("12345")).type(ModelTypes.GROK_PATTERN_V1).data(jsonData).build();
    ImmutableSet<Entity> entities = ImmutableSet.of(entityV1);
    NativeEntityDescriptor nativeEntityDescriptor = NativeEntityDescriptor.create(ModelId.of("12345"), "dead-beef1", ModelTypes.GROK_PATTERN_V1, "NAME");
    nativeEntityDescriptors = ImmutableSet.of(nativeEntityDescriptor);
    contentPack = ContentPackV1.builder().description("test").entities(entities).name("test").revision(1).summary("").vendor("").url(URI.create("http://graylog.com")).id(ModelId.of("dead-beef")).build();
    contentPackInstallation = ContentPackInstallation.builder().contentPackId(ModelId.of("dead-beef")).contentPackRevision(1).entities(nativeEntityDescriptors).comment("Installed").parameters(ImmutableMap.copyOf(Collections.emptyMap())).createdAt(Instant.now()).createdBy("me").build();
}
Also used : Entity(org.graylog2.contentpacks.model.entities.Entity) StreamFacade(org.graylog2.contentpacks.facades.StreamFacade) HashMap(java.util.HashMap) JsonNode(com.fasterxml.jackson.databind.JsonNode) EntityV1(org.graylog2.contentpacks.model.entities.EntityV1) EntityWithExcerptFacade(org.graylog2.contentpacks.facades.EntityWithExcerptFacade) NativeEntityDescriptor(org.graylog2.contentpacks.model.entities.NativeEntityDescriptor) ModelType(org.graylog2.contentpacks.model.ModelType) ConstraintChecker(org.graylog2.contentpacks.constraints.ConstraintChecker) GrokPatternFacade(org.graylog2.contentpacks.facades.GrokPatternFacade) OutputFacade(org.graylog2.contentpacks.facades.OutputFacade) Before(org.junit.Before)

Example 5 with ConstraintChecker

use of org.graylog2.contentpacks.constraints.ConstraintChecker in project graylog2-server by Graylog2.

the class PluginVersionConstraintCheckerTest method checkConstraints.

@Test
public void checkConstraints() {
    final TestPluginMetaData pluginMetaData = new TestPluginMetaData();
    final PluginVersionConstraintChecker constraintChecker = new PluginVersionConstraintChecker(Collections.singleton(pluginMetaData));
    final GraylogVersionConstraint graylogVersionConstraint = GraylogVersionConstraint.builder().version("^2.0.0").build();
    final PluginVersionConstraint pluginVersionConstraint = PluginVersionConstraint.builder().pluginId("unique-id").version("^1.0.0").build();
    final ImmutableSet<Constraint> requiredConstraints = ImmutableSet.of(graylogVersionConstraint, pluginVersionConstraint);
    assertThat(constraintChecker.checkConstraints(requiredConstraints).stream().allMatch(c -> c.fulfilled())).isTrue();
}
Also used : PluginVersionConstraint(org.graylog2.contentpacks.model.constraints.PluginVersionConstraint) GraylogVersionConstraint(org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint) PluginVersionConstraint(org.graylog2.contentpacks.model.constraints.PluginVersionConstraint) Constraint(org.graylog2.contentpacks.model.constraints.Constraint) GraylogVersionConstraint(org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint) Test(org.junit.Test)

Aggregations

Constraint (org.graylog2.contentpacks.model.constraints.Constraint)5 GraylogVersionConstraint (org.graylog2.contentpacks.model.constraints.GraylogVersionConstraint)4 PluginVersionConstraint (org.graylog2.contentpacks.model.constraints.PluginVersionConstraint)4 Test (org.junit.Test)4 ConstraintChecker (org.graylog2.contentpacks.constraints.ConstraintChecker)3 ConstraintCheckResult (org.graylog2.contentpacks.model.constraints.ConstraintCheckResult)3 EntityWithExcerptFacade (org.graylog2.contentpacks.facades.EntityWithExcerptFacade)2 ModelType (org.graylog2.contentpacks.model.ModelType)2 Before (org.junit.Before)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 ContentPackInstallationPersistenceService (org.graylog2.contentpacks.ContentPackInstallationPersistenceService)1 ContentPackService (org.graylog2.contentpacks.ContentPackService)1 GrokPatternFacade (org.graylog2.contentpacks.facades.GrokPatternFacade)1 OutputFacade (org.graylog2.contentpacks.facades.OutputFacade)1 StreamFacade (org.graylog2.contentpacks.facades.StreamFacade)1 Entity (org.graylog2.contentpacks.model.entities.Entity)1 EntityV1 (org.graylog2.contentpacks.model.entities.EntityV1)1 NativeEntityDescriptor (org.graylog2.contentpacks.model.entities.NativeEntityDescriptor)1