diff options
author | gjoranv <gv@verizonmedia.com> | 2022-01-19 17:06:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-19 17:06:58 +0100 |
commit | 66523fc6cf67017b5144990cb07fcee0bad3eb10 (patch) | |
tree | 5588dc8c8d5965a439b681851ade843a8720cf6c /config-model/src/test | |
parent | ff2e13f72dc3719dafbd6f2acbc94ee53ee6259e (diff) | |
parent | 839bce67dc9cfac4026f8973454656a7b3f42839 (diff) |
Merge pull request #20871 from vespa-engine/bjorncs/split-bundle-validator
Bjorncs/split bundle validator
Diffstat (limited to 'config-model/src/test')
3 files changed, 12 insertions, 70 deletions
diff --git a/config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/MANIFEST.MF b/config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/MANIFEST.MF deleted file mode 100644 index 1f88a5e6477..00000000000 --- a/config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/MANIFEST.MF +++ /dev/null @@ -1,7 +0,0 @@ -Manifest-Version: 1.0 -Created-By: 1.6.0_20 (Apple Inc.) -Bundle-ManifestVersion: 2 -Bundle-Name: mybundle -Bundle-SymbolicName: mybundle -Bundle-Version: 0 - diff --git a/config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/maven/com.yahoo.test/mybundle/pom.xml b/config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/maven/com.yahoo.test/mybundle/pom.xml deleted file mode 100644 index 167751f55c4..00000000000 --- a/config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/maven/com.yahoo.test/mybundle/pom.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>com.yahoo.test</groupId> - <artifactId>mybundle</artifactId> - <packaging>container-plugin</packaging> - <version>1.0.0</version> - <dependencies> - <dependency> - <groupId>com.yahoo.vespa</groupId> - <artifactId>vespa-http-client-extensions</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - - <pluginRepositories> - <pluginRepository> - <id>my-plugin-repository</id> - <url>http://myartifactory:8000/artifactory/vespa-maven-libs-release-local</url> - </pluginRepository> - </pluginRepositories> - <repositories> - <repository> - <id>my-repository</id> - <url>http://myartifactory:8000/artifactory/vespa-maven-libs-release-local</url> - </repository> - </repositories> -</project>
\ No newline at end of file diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java index eeae7dfe0ee..b5b93be6cd7 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java @@ -2,7 +2,7 @@ package com.yahoo.vespa.model.application.validation; import com.yahoo.config.application.api.DeployLogger; -import com.yahoo.config.model.application.provider.BaseDeployLogger; +import com.yahoo.config.model.deploy.DeployState; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -29,7 +29,7 @@ public class BundleValidatorTest { // Valid jar file JarFile ok = createTemporaryJarFile("ok"); BundleValidator bundleValidator = new BundleValidator(); - bundleValidator.validateJarFile(new BaseDeployLogger(), false, ok); + bundleValidator.validateJarFile(DeployState.createTestState(), ok); // No manifest validateWithException("nomanifest", "Non-existing or invalid manifest in nomanifest.jar"); @@ -39,7 +39,7 @@ public class BundleValidatorTest { try { JarFile jarFile = createTemporaryJarFile(jarName); BundleValidator bundleValidator = new BundleValidator(); - bundleValidator.validateJarFile(new BaseDeployLogger(), false, jarFile); + bundleValidator.validateJarFile(DeployState.createTestState(), jarFile); assert (false); } catch (IllegalArgumentException e) { assertEquals(e.getMessage(), exceptionMessage); @@ -50,47 +50,27 @@ public class BundleValidatorTest { public void require_that_deploying_snapshot_bundle_gives_warning() throws IOException { final StringBuffer buffer = new StringBuffer(); - DeployLogger logger = createDeployLogger(buffer); + DeployState state = createDeployState(buffer); JarFile jarFile = createTemporaryJarFile("snapshot_bundle"); - new BundleValidator().validateJarFile(logger, false, jarFile); + new BundleValidator().validateJarFile(state, jarFile); assertTrue(buffer.toString().contains("Deploying snapshot bundle")); } @Test public void outputs_deploy_warning_on_import_of_packages_from_deprecated_artifact() throws IOException { final StringBuffer buffer = new StringBuffer(); - DeployLogger logger = createDeployLogger(buffer); + DeployState state = createDeployState(buffer); BundleValidator validator = new BundleValidator(); JarFile jarFile = createTemporaryJarFile("import-warnings"); - validator.validateJarFile(logger, true, jarFile); + validator.validateJarFile(state, jarFile); assertThat(buffer.toString()) - .contains("For JAR file 'import-warnings.jar': \n" + - "Manifest imports the following Java packages from 'org.json:json': [org.json]. \n" + - "The org.json library will no longer provided by jdisc runtime on Vespa 8. See https://docs.vespa.ai/en/vespa8-release-notes.html#container-runtime."); + .contains("JAR file 'import-warnings.jar' imports the packages [org.json] from 'org.json:json'. \n" + + "This bundle is no longer provided on Vespa 8 - see https://docs.vespa.ai/en/vespa8-release-notes.html#container-runtime."); } - @Test - public void outputs_deploy_warnings_for_pom_xml() throws IOException { - StringBuffer buffer = new StringBuffer(); - DeployLogger logger = createDeployLogger(buffer); - BundleValidator validator = new BundleValidator(); - JarFile jarFile = createTemporaryJarFile("pom-xml-warnings"); - validator.validateJarFile(logger, true, jarFile); - String output = buffer.toString(); - assertThat(output) - .contains("The pom.xml of bundle 'pom-xml-warnings.jar' includes a dependency to the artifact " + - "'com.yahoo.vespa:vespa-http-client-extensions'. \n" + - "This artifact will be removed in Vespa 8. " + - "Programmatic use can be safely removed from system/staging tests. " + - "See internal Vespa 8 release notes for details.\n"); - assertThat(output) - .contains("\n" + - "<pluginRepositories> in pom.xml of 'pom-xml-warnings.jar' uses deprecated Maven repository " + - "'http://myartifactory:8000/artifactory/vespa-maven-libs-release-local'.\n See announcement."); - assertThat(output) - .contains("\n" + - "<repositories> in pom.xml of 'pom-xml-warnings.jar' uses deprecated Maven repository " + - "'http://myartifactory:8000/artifactory/vespa-maven-libs-release-local'.\n See announcement."); + private DeployState createDeployState(StringBuffer buffer) { + DeployLogger logger = (__, message) -> buffer.append(message).append('\n'); + return DeployState.createTestState(logger); } private JarFile createTemporaryJarFile(String testArtifact) throws IOException { @@ -114,7 +94,4 @@ public class BundleValidatorTest { return new JarFile(jarFile.toFile()); } - private DeployLogger createDeployLogger(StringBuffer buffer) { - return (__, message) -> buffer.append(message).append('\n'); - } } |