summaryrefslogtreecommitdiffstats
path: root/config-model/src/test
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2022-01-19 17:06:58 +0100
committerGitHub <noreply@github.com>2022-01-19 17:06:58 +0100
commit66523fc6cf67017b5144990cb07fcee0bad3eb10 (patch)
tree5588dc8c8d5965a439b681851ade843a8720cf6c /config-model/src/test
parentff2e13f72dc3719dafbd6f2acbc94ee53ee6259e (diff)
parent839bce67dc9cfac4026f8973454656a7b3f42839 (diff)
Merge pull request #20871 from vespa-engine/bjorncs/split-bundle-validator
Bjorncs/split bundle validator
Diffstat (limited to 'config-model/src/test')
-rw-r--r--config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/MANIFEST.MF7
-rw-r--r--config-model/src/test/cfg/application/validation/testjars/pom-xml-warnings/META-INF/maven/com.yahoo.test/mybundle/pom.xml28
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/BundleValidatorTest.java47
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');
- }
}