aboutsummaryrefslogtreecommitdiffstats
path: root/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-12-19 19:19:28 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-12-19 19:19:28 +0100
commit4c56b0aedb0284140ef94aa3db0531da7342c628 (patch)
tree2c4df71208be6b8615961a025e699b8e1734401e /bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
parent3662fb1b96d325fe7ff07a6eb031d7d58b5cc9e2 (diff)
Simplify testing by sticking to assertEquals/True/False
Diffstat (limited to 'bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java')
-rw-r--r--bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java69
1 files changed, 23 insertions, 46 deletions
diff --git a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
index d6b5b0fe9e0..ee7b6c9c2f1 100644
--- a/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
+++ b/bundle-plugin/src/test/java/com/yahoo/container/plugin/osgi/ImportPackageTest.java
@@ -4,25 +4,19 @@ package com.yahoo.container.plugin.osgi;
import com.yahoo.container.plugin.osgi.ExportPackages.Export;
import com.yahoo.container.plugin.osgi.ExportPackages.Parameter;
import com.yahoo.container.plugin.osgi.ImportPackages.Import;
-import org.hamcrest.Description;
-import org.hamcrest.TypeSafeMatcher;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
import java.util.Collections;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import static java.util.Collections.emptyMap;
-import static java.util.Collections.emptySet;
-import static java.util.Collections.singletonList;
-import static org.hamcrest.Matchers.contains;
-import static org.hamcrest.Matchers.empty;
-import static org.hamcrest.Matchers.is;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
/**
* @author Tony Vaagenes
@@ -30,58 +24,56 @@ import static org.junit.Assert.assertThat;
*/
public class ImportPackageTest {
private static final String PACKAGE_NAME = "com.yahoo.exported";
- private Set<String> referencedPackages = Collections.singleton(PACKAGE_NAME);
- private Map<String, Export> exports = exportByPackageName(new Export(singletonList(PACKAGE_NAME), Collections.emptyList()));
- private Map<String, Export> exportsWithVersion = exportByPackageName(
- new Export(singletonList(PACKAGE_NAME), singletonList(new Parameter("version", "1.3"))));
+ private final Set<String> referencedPackages = Collections.singleton(PACKAGE_NAME);
+ private final Map<String, Export> exports = exportByPackageName(new Export(List.of(PACKAGE_NAME), Collections.emptyList()));
+ private final Map<String, Export> exportsWithVersion = exportByPackageName(
+ new Export(List.of(PACKAGE_NAME), List.of(new Parameter("version", "1.3"))));
private static Map<String, Export> exportByPackageName(Export export) {
- return ExportPackages.exportsByPackageName(singletonList(export));
+ return ExportPackages.exportsByPackageName(List.of(export));
}
@Test
public void require_that_non_implemented_import_with_matching_export_is_included() {
- Set<Import> imports = calculateImports(referencedPackages, emptySet(), exports);
- assertThat(imports, contains(importMatching(PACKAGE_NAME, "")));
+ Set<Import> imports = calculateImports(referencedPackages, Set.of(), exports);
+ assertEquals(1, imports.stream().filter(imp -> imp.packageName().equals(PACKAGE_NAME) && imp.version().isEmpty()).count());
}
@Test
public void require_that_non_implemented_import_without_matching_export_is_excluded() {
- Set<Import> imports = calculateImports(referencedPackages, emptySet(), emptyMap());
- assertThat(imports, empty());
+ Set<Import> imports = calculateImports(referencedPackages, Set.of(), Map.of());
+ assertTrue(imports.isEmpty());
}
@Test
public void require_that_implemented_import_with_matching_export_is_excluded() {
Set<Import> imports = calculateImports(referencedPackages, referencedPackages, exports);
-
- assertThat(imports, empty());
+ assertTrue(imports.isEmpty());
}
@Test
public void require_that_version_is_included() {
- Set<Import> imports = calculateImports(referencedPackages, emptySet(), exportsWithVersion);
-
- assertThat(imports, contains(importMatching(PACKAGE_NAME, "1.3")));
+ Set<Import> imports = calculateImports(referencedPackages, Set.of(), exportsWithVersion);
+ assertEquals(1, imports.stream().filter(imp -> imp.packageName().equals(PACKAGE_NAME) && imp.version().equals("1.3")).count());
}
@Test
public void require_that_all_versions_up_to_the_next_major_version_is_in_range() {
- assertThat(new Import("foo", Optional.of("1.2")).importVersionRange().get(), is("[1.2,2)"));
+ assertEquals("[1.2,2)", new Import("foo", Optional.of("1.2")).importVersionRange().get());
}
// TODO: Detecting guava packages should be based on bundle-symbolicName, not package name.
@Test
public void require_that_for_guava_all_future_major_versions_are_in_range() {
Optional<String> rangeWithInfiniteUpperLimit = Optional.of("[18.1," + ImportPackages.INFINITE_VERSION + ")");
- assertThat(new Import("com.google.common", Optional.of("18.1")).importVersionRange(), is(rangeWithInfiniteUpperLimit));
- assertThat(new Import("com.google.common.foo", Optional.of("18.1")).importVersionRange(), is(rangeWithInfiniteUpperLimit));
- assertThat(new Import("com.google.commonality", Optional.of("18.1")).importVersionRange(), is(Optional.of("[18.1,19)")));
+ assertEquals(rangeWithInfiniteUpperLimit, new Import("com.google.common", Optional.of("18.1")).importVersionRange());
+ assertEquals(rangeWithInfiniteUpperLimit, new Import("com.google.common.foo", Optional.of("18.1")).importVersionRange());
+ assertEquals(Optional.of("[18.1,19)"), new Import("com.google.commonality", Optional.of("18.1")).importVersionRange());
}
@Test
public void require_that_none_version_gives_non_version_range() {
- assertThat(new Import("foo", Optional.empty()).importVersionRange(), is(Optional.empty()));
+ assertTrue(new Import("foo", Optional.empty()).importVersionRange().isEmpty());
}
@Rule
@@ -95,18 +87,17 @@ public class ImportPackageTest {
@Test
public void require_that_osgi_import_supports_missing_version() {
- assertThat(new Import("com.yahoo.exported", Optional.empty()).asOsgiImport(), is("com.yahoo.exported"));
+ assertEquals("com.yahoo.exported", new Import("com.yahoo.exported", Optional.empty()).asOsgiImport());
}
@Test
public void require_that_osgi_import_version_range_includes_all_versions_from_the_current_up_to_the_next_major_version() {
- assertThat(new Import("com.yahoo.exported", Optional.of("1.2")).asOsgiImport(), is("com.yahoo.exported;version=\"[1.2,2)\""));
+ assertEquals("com.yahoo.exported;version=\"[1.2,2)\"", new Import("com.yahoo.exported", Optional.of("1.2")).asOsgiImport());
}
@Test
public void require_that_osgi_import_version_range_ignores_qualifier() {
- assertThat(new Import("com.yahoo.exported", Optional.of("1.2.3.qualifier")).asOsgiImport(),
- is("com.yahoo.exported;version=\"[1.2.3,2)\""));
+ assertEquals("com.yahoo.exported;version=\"[1.2.3,2)\"", new Import("com.yahoo.exported", Optional.of("1.2.3.qualifier")).asOsgiImport());
}
private static Set<Import> calculateImports(Set<String> referencedPackages,
@@ -114,18 +105,4 @@ public class ImportPackageTest {
Map<String, Export> exportedPackages) {
return new HashSet<>(ImportPackages.calculateImports(referencedPackages, implementedPackages, exportedPackages).values());
}
-
- private static TypeSafeMatcher<Import> importMatching(String packageName, String version) {
- return new TypeSafeMatcher<Import>() {
- @Override
- protected boolean matchesSafely(Import anImport) {
- return anImport.packageName().equals(packageName) && anImport.version().equals(version);
- }
-
- @Override
- public void describeTo(Description description) {
- description.appendText("an Import of package ").appendValue(packageName).appendText(" with version ").appendValue(version);
- }
- };
- }
}