package test.resource;
import org.osgi.resource.Capability;
import org.osgi.resource.Requirement;
import aQute.bnd.osgi.resource.CapabilityBuilder;
import aQute.bnd.osgi.resource.RequirementBuilder;
import aQute.bnd.osgi.resource.ResourceUtils;
import junit.framework.TestCase;
public class CapReqFilterTest extends TestCase {
public void testReqNoFilterDifferentNamespace() throws Exception {
Capability cap = new CapabilityBuilder("run.amock")
.buildSyntheticCapability();
Requirement req = new RequirementBuilder("bamboozled")
.buildSyntheticRequirement();
assertFalse(ResourceUtils.matches(req, cap));
}
public void testReqNoFilterCapWithAttr() throws Exception {
Capability cap = new CapabilityBuilder("foobar")
.addAttribute("blah", "baz")
.addAttribute("version", "42")
.buildSyntheticCapability();
Requirement req = new RequirementBuilder("foobar")
.buildSyntheticRequirement();
assertTrue(ResourceUtils.matches(req, cap));
}
public void testReqNoFilterCapWithNoAttr() {
Capability cap = new CapabilityBuilder("foobar")
.buildSyntheticCapability();
Requirement req = new RequirementBuilder("foobar")
.buildSyntheticRequirement();
assertTrue(ResourceUtils.matches(req, cap));
}
public void testReqWithFilter() {
Capability cap = new CapabilityBuilder("foobar")
.buildSyntheticCapability();
Requirement req = new RequirementBuilder("foobar")
.addDirective("filter", "(something=true)")
.buildSyntheticRequirement();
assertFalse(ResourceUtils.matches(req, cap));
}
}