Skip to content

Commit

Permalink
enable verify
Browse files Browse the repository at this point in the history
  • Loading branch information
jjiwooLim committed Oct 6, 2023
1 parent 0f5ab1a commit 19c6efa
Show file tree
Hide file tree
Showing 12 changed files with 413 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
invoker.goals.1 = clean install -Dverify=all -Dkeyid=0x05534365803788CE
invoker.goals.2 = clean install -Dverify=warn -Dkeyid=0xWRONGKEYID
invoker.goals.3 = clean install -Dverify=enforce -Dkeyid=0xWRONGKEYID
invoker.goals.4 = clean install -Dverify=skip
#Should skip verification if version < 23.0.0.9
invoker.goals.5 = clean install -Dliberty.runtime.version=23.0.0.9 -Dverify=enforce
#Should fail
invoker.goals.6 = clean install -Dverify=all -Dkeyid=0xWRONGKEYID
invoker.buildResult.6 = failure
172 changes: 172 additions & 0 deletions liberty-maven-plugin/src/it/verify-user-feature-it/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>

<parent>
<groupId>io.openliberty.tools.it</groupId>
<artifactId>tests</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>

<artifactId>verify-usr-feature-it</artifactId>
<packaging>jar</packaging>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.1</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.8.0</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>copy-resource-one</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>

<configuration>
<outputDirectory>${user.home}/.m2/repository/test/user/test/osgi/SimpleActivator-bom/1.0</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
<includes>
<include>SimpleActivator-bom-1.0.pom</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-resource-two</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>

<configuration>
<outputDirectory>${user.home}/.m2/repository/test/user/test/osgi/SimpleActivatorESA/1.0</outputDirectory>
<resources>
<resource>
<directory>src/test/resources</directory>
<includes>
<include>SimpleActivatorESA-1.0.esa</include>
</includes>
</resource>
<resource>
<directory>src/test/resources</directory>
<includes>
<include>SimpleActivatorESA-1.0.esa.asc</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>@pom.version@</version>
<configuration>
<assemblyArtifact>
<groupId>${runtimeGroupId}</groupId>
<artifactId>${runtimeKernelId}</artifactId>
<!-- this goal is only available with ol 23.0.0.9 or later -->
<version>23.0.0.9</version>
<type>zip</type>
</assemblyArtifact>
</configuration>
<executions>
<execution>
<id>install-liberty-server</id>
<phase>compile</phase>
<goals>
<goal>install-server</goal>
</goals>
</execution>
<execution>
<id>prepare-feature</id>
<phase>test-compile</phase>
<goals>
<goal>prepare-feature</goal>
</goals>
</execution>
<execution>
<id>install-feature</id>
<phase>test-compile</phase>
<goals>
<goal>install-feature</goal>
</goals>
<configuration>
<keys>
<key1>
<keyid>${keyid}</keyid>
<keyurl>src/test/resources/SimpleActivatorValidKey.asc</keyurl>
</key1>
</keys>
<features>
<verify>${verify}</verify>
<acceptLicense>true</acceptLicense>
<feature>json-1.0</feature>
<feature>SimpleActivator-1.0</feature>
</features>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<workingDirectory>${project.build.directory}</workingDirectory>
<argLine>-enableassertions</argLine>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
<execution>
<id>verify</id>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>test.user.test.osgi</groupId>
<artifactId>SimpleActivator-bom</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>


</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
import java.io.File;

File buildLog = new File( basedir, 'build.log' )
assert buildLog.text.contains( 'All features were successfully verified.')
assert buildLog.text.contains( 'CWWKF1514E: The 0X05534365803788CE public key ID does not match the 0xWRONGKEYID provided key ID.')
assert buildLog.text.contains( 'All features were successfully verified.')
assert buildLog.text.contains( 'CWWKF1508E: The public key ID for the src/test/resources/SimpleActivatorValidKey.asc key URL was not provided.')
assert buildLog.text.contains( 'CWWKF1512E: Unable to verify the following feature signatures:')
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
/*******************************************************************************
* (c) Copyright IBM Corporation 2021.
*
* 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.
*******************************************************************************/
package net.wasdev.wlp.test.feature.it;

import static junit.framework.Assert.*;
import org.junit.Test;
import org.junit.After;
import org.junit.Assume;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.logging.Logger;

import org.apache.commons.io.FileUtils;
import java.io.FilenameFilter;

public class VerifyUsrFeatureTest {

static File mavenLocalRepo = new File(System.getProperty("user.home")+ "/.m2/repository");
static File userTestRepo = new File(mavenLocalRepo, "test/user/test/features");

Logger logger = Logger.getLogger(VerifyUsrFeatureTest.class.getName());


@After
public void cleanUp() {
//delete installed user feature from liberty.
//featureFile.delete();
}

public static boolean deleteFolder(final File directory) {
if (directory.isDirectory()) {
File[] files = directory.listFiles();
if (null != files) {
for (File file : files) {
if (file.isDirectory()) {
deleteFolder(file);
} else {
if (!file.delete()) {
file.deleteOnExit();
}
}
}
}
}
if(!directory.delete()){
directory.deleteOnExit();
return false;
}
return true;
}


@Test
public void testVerifyUsrFeature() throws Exception {
try {
File featureFile = new File("target/liberty/wlp/usr/extension/lib/features/test.user.test.osgi.SimpleActivator.mf");

assert featureFile.exists() : "SimpleActivator.mf cannot be generated";

} catch (Exception e) {
throw new AssertionError ("Fail to install user feature.", e);
}
}

@Test
public void testInvalidVerifyUsrFeature() throws Exception {
Assume.assumeTrue(System.getProperty("verify").equals("all"));
Assume.assumeTrue(System.getProperty("keyid").equals("0xWRONGKEYID"));
try {
File featureFile = new File("target/liberty/wlp/usr/extension/lib/features/test.user.test.osgi.SimpleActivator.mf");
assert !featureFile.exists() : "SimpleActivator.mf should not be generated";

} catch (Exception e) {
throw new AssertionError ("Fail to install user feature.", e);
}
}




}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>test.user.test.osgi</groupId>
<artifactId>SimpleActivator-bom</artifactId>
<version>1.0</version>
<packaging>pom</packaging>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>test.user.test.osgi</groupId>
<artifactId>SimpleActivatorESA</artifactId>
<version>1.0</version>
<type>esa</type>
</dependency>
</dependencies>
</dependencyManagement>
</project>
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQTZfjfdN9icDzpsd5oFU0NlgDeIzgUCYuXWWgAKCRAFU0NlgDeI
zoQoAP9Ml57juXFOVpqNljeLKEZ+OfDsLs5QJbZJ2JbXF+d7zwEAm1QDQaTRy4Kl
tghBIFPUgTSrKl0U39pMpje5xvvVpgM=
=1Xtn
-----END PGP SIGNATURE-----
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Hostname:
Version: Hockeypuck 2.1.0-223-gdc2762b

xjMEYryhzxYJKwYBBAHaRw8BAQdAr/PgyIUi11nwm9t1hb5hPXV2C+fMFex0wQ1e
dnR7IEXNHVNhcmFoIExpbSA8aml3b28ubGltQGlibS5jb20+wpoEExYKAEIWIQTZ
fjfdN9icDzpsd5oFU0NlgDeIzgUCYryhzwIbAwUJA8JnAAULCQgHAgMiAgEGFQoJ
CAsCBBYCAwECHgcCF4AACgkQBVNDZYA3iM4zpwEAk/GjVbe1Nh6Sdgz6Bz7m7Ri8
PTOm83nJbLQ58wiQjLIBAPROmPtM2GZtZpXnLvcTQZ1LMagtO8bf2Lrmwr4sSecE
zjgEYryhzxIKKwYBBAGXVQEFAQEHQO6uNNAomeS4cvSOOiF8TZp57y3srA0jQCTM
4FgyA4EeAwEIB8J+BBgWCgAmFiEE2X433TfYnA86bHeaBVNDZYA3iM4FAmK8oc8C
GwwFCQPCZwAACgkQBVNDZYA3iM5QsQEA9wCJkczk0UicmUhI+yywuTuh5MF3csdD
fyUL++G/Co0A/19f4kf/LVLh+EfsGRHU256OI8RWd9JUR8O2M/HSJ8sK
=JYSd
-----END PGP PUBLIC KEY BLOCK-----
Loading

0 comments on commit 19c6efa

Please sign in to comment.