/* * 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:ozizka@redhat.com">Ondrej Zizka</a> * @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a> */ @RuleMetadata(id = "myRule1", phase = DependentPhase.class, after = { MetadataTestRuleProvider1.class }, before = { MetadataTestRuleProvider2.class }, tags = { "java", "security" }) public class MetadataTestRuleProvider3 extends SingleRuleProvider { @Override public void perform(GraphRewrite event, EvaluationContext evCtx) { ExecutedProviders.executedProvider(this); Assert.assertEquals("myRule1", this.getId()); Assert.assertEquals(DependentPhase.class, this.getMetadata().getPhase()); Assert.assertTrue(this.getMetadata().getExecuteAfter().contains(MetadataTestRuleProvider1.class)); RuleProviderRegistry providerRegistry = RuleProviderRegistry.instance(event); Assert.assertNotNull(providerRegistry); Assert.assertTrue(getMetadata().hasTags("java", "security")); Set<TechnologyReference> sourceTechnologies = getMetadata().getSourceTechnologies(); Assert.assertEquals(2, sourceTechnologies.size()); Assert.assertTrue(sourceTechnologies.contains(new TechnologyReference("source-a", "[1,]"))); Assert.assertTrue(sourceTechnologies.contains(new TechnologyReference("source-b", "[2,]"))); Set<TechnologyReference> targetTechnologies = getMetadata().getTargetTechnologies(); Assert.assertEquals(1, targetTechnologies.size()); Assert.assertTrue(targetTechnologies.contains(new TechnologyReference("target-x", "[3,]"))); } }