Add tests to PMD + also add some extra PMD rules
diff --git a/docs/kerby-pmd-ruleset.xml b/docs/kerby-pmd-ruleset.xml
new file mode 100644
index 0000000..fc61e41
--- /dev/null
+++ b/docs/kerby-pmd-ruleset.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<ruleset name="kerby-pmd" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
+ <description>
+ A PMD ruleset for Apache Kerby
+ </description>
+
+ <rule ref="rulesets/java/basic.xml">
+ <exclude name="AvoidUsingHardCodedIP" />
+ </rule>
+ <rule ref="rulesets/java/unusedcode.xml"/>
+ <rule ref="rulesets/java/imports.xml"/>
+ <rule ref="rulesets/java/braces.xml"/>
+ <rule ref="rulesets/java/empty.xml"/>
+ <rule ref="rulesets/java/migrating.xml">
+ <exclude name="JUnit4TestShouldUseAfterAnnotation" />
+ <exclude name="JUnit4TestShouldUseTestAnnotation" />
+ </rule>
+ <rule ref="rulesets/java/unnecessary.xml"/>
+
+</ruleset>
diff --git a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
index 6e5945e..77571cd 100644
--- a/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
+++ b/kerby-backend/zookeeper-backend/src/main/java/org/apache/kerby/kerberos/kdc/identitybackend/ZKConfKey.java
@@ -25,7 +25,7 @@
* Define all the ZK backend related configuration items with default values.
*/
public enum ZKConfKey implements ConfigKey {
- ZK_HOST("127.0.0.1"), //NOPMD
+ ZK_HOST("127.0.0.1"),
ZK_PORT(2181),
DATA_DIR,
DATA_LOG_DIR;
diff --git a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/AnonymousPkinitKdcTest.java b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/AnonymousPkinitKdcTest.java
index 1eb8fa5..fa26413 100644
--- a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/AnonymousPkinitKdcTest.java
+++ b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/AnonymousPkinitKdcTest.java
@@ -25,7 +25,6 @@
import org.apache.kerby.kerberos.kerb.server.KdcTestBase;
import org.apache.kerby.kerberos.kerb.type.ticket.SgtTicket;
import org.apache.kerby.kerberos.kerb.type.ticket.TgtTicket;
-import org.apache.kerby.pki.PkiLoader;
import org.junit.Before;
import org.junit.Test;
@@ -35,13 +34,10 @@
public class AnonymousPkinitKdcTest extends KdcTestBase {
- private PkiLoader pkiLoader;
private String serverPrincipal;
@Before
public void setUp() throws Exception {
- pkiLoader = new PkiLoader();
-
super.setUp();
}
@@ -55,11 +51,6 @@
}
@Override
- protected void setUpClient() throws Exception {
- super.setUpClient();
- }
-
- @Override
protected void createPrincipals() throws KrbException {
super.createPrincipals();
//Anonymity support is not enabled by default.
diff --git a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
index c47f334..f66c31a 100644
--- a/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
+++ b/kerby-kdc-test/src/test/java/org/apache/kerby/kerberos/kdc/WithCertKdcTest.java
@@ -45,11 +45,9 @@
*/
public class WithCertKdcTest extends KdcTestBase {
private PkiLoader pkiLoader;
- private String clientPrincipal;
private String serverPrincipal;
private Certificate userCert;
- private PrivateKey userKey;
- private Certificate caCert;
+ private PrivateKey userKey; //NOPMD
@Before
public void setUp() throws Exception {
@@ -76,11 +74,6 @@
loadCredentials();
}
- @Override
- protected void createPrincipals() throws KrbException {
- super.createPrincipals();
- }
-
//@Test
public void testPkinit() throws Exception {
assertThat(userCert).isNotNull();
@@ -112,4 +105,4 @@
res = getClass().getResourceAsStream("/userkey.pem");
userKey = pkiLoader.loadPrivateKey(res, null);
}
-}
\ No newline at end of file
+}
diff --git a/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/EnvelopedDataEngineTest.java b/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/EnvelopedDataEngineTest.java
index 6259de8..86a9fe2 100644
--- a/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/EnvelopedDataEngineTest.java
+++ b/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/EnvelopedDataEngineTest.java
@@ -22,6 +22,7 @@
import junit.framework.TestCase;
import org.apache.kerby.kerberos.kerb.client.preauth.pkinit.certs.CertificateChainFactory;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.junit.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -59,6 +60,7 @@
private PrivateKey privateKey;
+ @Before
public void setUp() throws Exception {
if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
Security.addProvider(new BouncyCastleProvider());
diff --git a/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/SignedDataEngineTest.java b/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/SignedDataEngineTest.java
index 1671d1a..64eebcf 100644
--- a/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/SignedDataEngineTest.java
+++ b/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/SignedDataEngineTest.java
@@ -24,6 +24,7 @@
import org.apache.kerby.kerberos.kerb.client.preauth.pkinit.certs.CertificateChainFactory;
import org.bouncycastle.cms.CMSSignedData;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.junit.Before;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -69,6 +70,7 @@
private PrivateKey privateKey;
+ @Before
public void setUp() throws Exception {
if (Security.getProvider("BC") == null) {
Security.addProvider(new BouncyCastleProvider());
diff --git a/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/certs/CertificateChainFactoryTest.java b/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/certs/CertificateChainFactoryTest.java
index b6f24f7..db52d4d 100644
--- a/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/certs/CertificateChainFactoryTest.java
+++ b/kerby-kerb/kerb-client/src/test/java/org/apache/kerby/kerberos/kerb/client/preauth/pkinit/certs/CertificateChainFactoryTest.java
@@ -21,6 +21,7 @@
import junit.framework.TestCase;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.junit.Before;
import java.security.InvalidAlgorithmParameterException;
import java.security.NoSuchAlgorithmException;
@@ -45,6 +46,8 @@
* @version $Rev$, $Date$
*/
public class CertificateChainFactoryTest extends TestCase {
+
+ @Before
public void setUp() {
if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
Security.addProvider(new BouncyCastleProvider());
diff --git a/kerby-kerb/kerb-crypto/src/test/java/org/apache/kerby/kerberos/kerb/crypto/CamelliaEncTest.java b/kerby-kerb/kerb-crypto/src/test/java/org/apache/kerby/kerberos/kerb/crypto/CamelliaEncTest.java
index c13be9d..a8faf38 100644
--- a/kerby-kerb/kerb-crypto/src/test/java/org/apache/kerby/kerberos/kerb/crypto/CamelliaEncTest.java
+++ b/kerby-kerb/kerb-crypto/src/test/java/org/apache/kerby/kerberos/kerb/crypto/CamelliaEncTest.java
@@ -39,7 +39,6 @@
public class CamelliaEncTest {
private List<String> outputs = new ArrayList<String>();
- private int keySize;
private byte[] plain = new byte[16];
private byte[] cipher = new byte[16];
@@ -74,7 +73,6 @@
}
private void testWith(int keySize) throws KrbException {
- this.keySize = keySize;
outputs.add("KEYSIZE=" + (keySize * 8));
encProvider = keySize == 16 ? new Camellia128Provider() : new Camellia256Provider();
diff --git a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcConfigKey.java b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcConfigKey.java
index f74951a..bca18ad 100644
--- a/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcConfigKey.java
+++ b/kerby-kerb/kerb-server/src/main/java/org/apache/kerby/kerberos/kerb/server/KdcConfigKey.java
@@ -25,7 +25,7 @@
KRB_DEBUG(true),
KDC_SERVICE_NAME("KDC-Server"),
KDC_IDENTITY_BACKEND,
- KDC_HOST("127.0.0.1"), // NOPMD
+ KDC_HOST("127.0.0.1"),
KDC_PORT,
KDC_ALLOW_TCP(true),
KDC_ALLOW_UDP(true),
diff --git a/kerby-pkix/src/test/java/org/apache/commons/ssl/TestOpenSSL.java b/kerby-pkix/src/test/java/org/apache/commons/ssl/TestOpenSSL.java
index fd902d1..b4f26de 100644
--- a/kerby-pkix/src/test/java/org/apache/commons/ssl/TestOpenSSL.java
+++ b/kerby-pkix/src/test/java/org/apache/commons/ssl/TestOpenSSL.java
@@ -33,7 +33,7 @@
}
for (int i = 5; i < 50; i++) {
- int testSize = (i * 1000) + 123;
+ int testSize = i * 1000 + 123;
byte[] buf = new byte[testSize];
random.nextBytes(buf);
byte[] enc = OpenSSL.encrypt(cipher, pwd, buf);
diff --git a/kerby-util/src/test/java/org/apache/kerby/util/TestBase64.java b/kerby-util/src/test/java/org/apache/kerby/util/TestBase64.java
index 1ecf4c5..0eef01d 100644
--- a/kerby-util/src/test/java/org/apache/kerby/util/TestBase64.java
+++ b/kerby-util/src/test/java/org/apache/kerby/util/TestBase64.java
@@ -29,7 +29,7 @@
assertTrue(result);
}
for (int i = 5; i < 50; i++) {
- int testSize = (i * 1000) + 123;
+ int testSize = i * 1000 + 123;
byte[] buf = new byte[testSize];
random.nextBytes(buf);
byte[] enc = Base64.encodeBase64(buf);
@@ -67,7 +67,7 @@
assertTrue(result);
}
for (int i = 5; i < 50; i++) {
- int testSize = (i * 1000) + 123;
+ int testSize = i * 1000 + 123;
byte[] buf = new byte[testSize];
random.nextBytes(buf);
diff --git a/pom.xml b/pom.xml
index 9e1f57b..3b4d302 100644
--- a/pom.xml
+++ b/pom.xml
@@ -196,10 +196,14 @@
<artifactId>maven-pmd-plugin</artifactId>
<version>3.5</version>
<configuration>
+ <rulesets>
+ <ruleset>${checkstyle.dir}/kerby-pmd-ruleset.xml</ruleset>
+ </rulesets>
<linkXRef>false</linkXRef>
<sourceEncoding>utf-8</sourceEncoding>
<failOnViolation>true</failOnViolation>
<verbose>true</verbose>
+ <includeTests>true</includeTests>
<targetJdk>1.7</targetJdk>
</configuration>
<executions>