/*
* #%L
* Wisdom-Framework
* %%
* Copyright (C) 2013 - 2014 Wisdom Framework
* %%
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* #L%
*/
package org.wisdom.maven.osgi;
import com.google.common.collect.ImmutableList;
import org.junit.Test;
import java.util.Collections;
import static org.assertj.core.api.Assertions.assertThat;
public class PackagesTest {
@Test
public void testToClause() throws Exception {
assertThat(Packages.toClause(Collections.<String>emptyList())).isEmpty();
assertThat(Packages.toClause(ImmutableList.of("org.acme"))).contains("org.acme");
assertThat(Packages.toClause(ImmutableList.of("org.acme", "com.foo"))).contains("org.acme, com.foo");
}
@Test
public void testPackageNameComputation() {
assertThat(Packages.getPackageName("foo/bar/Baz.class")).isEqualTo("foo.bar");
assertThat(Packages.getPackageName("foo/bar/Baz.java")).isEqualTo("foo.bar");
assertThat(Packages.getPackageName("Baz.class")).isEqualTo(".");
}
@Test
public void testExportPackageHeuristicsForServiceAndAPI() {
assertThat(Packages.shouldBeExported("")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.service")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.service.data")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.services")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.services.misc.exception")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.api")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.api.svc")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.apis")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.apis.svc")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.apiculteur.svc")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.service4.svc")).isFalse();
}
@Test
public void testExportPackageHeuristicsForModelAndEntity() {
assertThat(Packages.shouldBeExported("")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.model")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.model.data")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.models")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.models.misc.exception")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.entity")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.entity.svc")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.entities")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.entities.svc")).isTrue();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.modelization.svc")).isFalse();
assertThat(Packages.shouldBeExported("org.apache.felix.ipojo.entitification.svc")).isFalse();
}
}