/* * Copyright 2014 Red Hat, Inc. and/or its affiliates. * * Licensed under the Eclipse Public License version 1.0, available at * http://www.eclipse.org/legal/epl-v10.html */ package org.jboss.windup.config.metadata; import java.util.Set; import org.jboss.windup.config.GraphRewrite; import org.jboss.windup.config.phase.DependentPhase; import org.jboss.windup.config.ruleprovider.SingleRuleProvider; import org.junit.Assert; import org.ocpsoft.rewrite.context.EvaluationContext; /** * Test for {@link RuleMetadata}. * * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> * @author <a href="mailto:ozizka@redhat.com">Ondrej Zizka</a> */ @RuleMetadata(id = "myRule2", phase = DependentPhase.class, after = { MetadataTestRuleProvider1.class }, before = { MetadataTestRuleProvider2.class }, tags = { "java", "security" }, sourceTechnologies = { @Technology(id = "ejb", versionRange = "[1,2)") }, targetTechnologies = { @Technology(id = "ejb", versionRange = "[3,)") }) public class MetadataTestRuleProvider4 extends SingleRuleProvider { @Override public void perform(GraphRewrite event, EvaluationContext evCtx) { ExecutedProviders.executedProvider(this); Assert.assertEquals("myRule2", this.getId()); Assert.assertEquals(DependentPhase.class.getName(), getMetadata().getPhase().getName()); Assert.assertTrue(getMetadata().getExecuteAfter().contains(MetadataTestRuleProvider1.class)); Assert.assertTrue(getMetadata().hasTags("java", "security")); Assert.assertFalse(getMetadata().hasTags("ruleset-meta-tag")); Set<TechnologyReference> sourceTechnologies = getMetadata().getSourceTechnologies(); Assert.assertEquals(1, sourceTechnologies.size()); Assert.assertTrue(sourceTechnologies.contains(new TechnologyReference("ejb", "[1,2)"))); Set<TechnologyReference> targetTechnologies = getMetadata().getTargetTechnologies(); Assert.assertEquals(1, targetTechnologies.size()); Assert.assertTrue(targetTechnologies.contains(new TechnologyReference("ejb", "[3,)"))); Assert.assertTrue(getMetadata().getRequiredAddons().isEmpty()); } }