diff --git a/kerby-kerb/kerb-core-test/pom.xml b/kerby-kerb/kerb-core-test/pom.xml
deleted file mode 100644
index d796f98..0000000
--- a/kerby-kerb/kerb-core-test/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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. See accompanying LICENSE file.
--->
-<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/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.kerby</groupId>
-    <artifactId>kerby-kerb</artifactId>
-    <version>1.0.0-RC2-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>kerb-core-test</artifactId>
-
-  <name>kerby-kerb-coreTest</name>
-  <description>Kerb core tests</description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.kerby</groupId>
-      <artifactId>kerby-asn1</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.kerby</groupId>
-      <artifactId>kerb-core</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.kerby</groupId>
-      <artifactId>kerb-util</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-  </dependencies>
-</project>
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java b/kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
rename to kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTest.java
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTestUtil.java b/kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTestUtil.java
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTestUtil.java
rename to kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/CodecTestUtil.java
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsRepCodec.java b/kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsRepCodec.java
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsRepCodec.java
rename to kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsRepCodec.java
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsReqCodec.java b/kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsReqCodec.java
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsReqCodec.java
rename to kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestAsReqCodec.java
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsRepCodec.java b/kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsRepCodec.java
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsRepCodec.java
rename to kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsRepCodec.java
diff --git a/kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsReqCodec.java b/kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsReqCodec.java
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsReqCodec.java
rename to kerby-kerb/kerb-core/src/main/test/java/org/apache/kerby/kerberos/kerb/codec/TestTgsReqCodec.java
diff --git a/kerby-kerb/kerb-core-test/src/test/resources/asrep.token b/kerby-kerb/kerb-core/src/main/test/resources/asrep.token
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/resources/asrep.token
rename to kerby-kerb/kerb-core/src/main/test/resources/asrep.token
Binary files differ
diff --git a/kerby-kerb/kerb-core-test/src/test/resources/asreq.token b/kerby-kerb/kerb-core/src/main/test/resources/asreq.token
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/resources/asreq.token
rename to kerby-kerb/kerb-core/src/main/test/resources/asreq.token
Binary files differ
diff --git a/kerby-kerb/kerb-core-test/src/test/resources/server.keytab b/kerby-kerb/kerb-core/src/main/test/resources/server.keytab
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/resources/server.keytab
rename to kerby-kerb/kerb-core/src/main/test/resources/server.keytab
Binary files differ
diff --git a/kerby-kerb/kerb-core-test/src/test/resources/tgsrep.token b/kerby-kerb/kerb-core/src/main/test/resources/tgsrep.token
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/resources/tgsrep.token
rename to kerby-kerb/kerb-core/src/main/test/resources/tgsrep.token
Binary files differ
diff --git a/kerby-kerb/kerb-core-test/src/test/resources/tgsreq.token b/kerby-kerb/kerb-core/src/main/test/resources/tgsreq.token
similarity index 100%
rename from kerby-kerb/kerb-core-test/src/test/resources/tgsreq.token
rename to kerby-kerb/kerb-core/src/main/test/resources/tgsreq.token
Binary files differ
diff --git a/kerby-kerb/pom.xml b/kerby-kerb/pom.xml
index 768d899..ae3d44a 100644
--- a/kerby-kerb/pom.xml
+++ b/kerby-kerb/pom.xml
@@ -27,7 +27,6 @@
 
   <modules>
     <module>kerb-core</module>
-    <module>kerb-core-test</module>
     <module>kerb-common</module>
     <module>kerb-util</module>
     <module>kerb-crypto</module>
diff --git a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
index ecb1013..a662182 100644
--- a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
+++ b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestCompressedData.java
@@ -20,15 +20,11 @@
 package org.apache.kerby.cms;
 
 import org.apache.kerby.asn1.Asn1;
-import org.apache.kerby.asn1.util.HexUtil;
-import org.apache.kerby.asn1.util.IOUtil;
-import org.apache.kerby.cms.type.CompressedData;
 import org.apache.kerby.cms.type.ContentInfo;
 import org.junit.Assert;
 import org.junit.Test;
 
 import java.io.IOException;
-import java.io.InputStream;
 
 public class TestCompressedData extends CmsTestBase {
 
diff --git a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
index cf6f283..92b7d13 100644
--- a/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
+++ b/kerby-pkix/src/test/java/org/apache/kerby/cms/TestSignedData.java
@@ -20,16 +20,11 @@
 package org.apache.kerby.cms;
 
 import org.apache.kerby.asn1.Asn1;
-import org.apache.kerby.asn1.util.HexUtil;
-import org.apache.kerby.asn1.util.IOUtil;
-import org.apache.kerby.cms.type.CompressedData;
 import org.apache.kerby.cms.type.ContentInfo;
-import org.apache.kerby.cms.type.SignedData;
 import org.junit.Assert;
 import org.junit.Test;
 
 import java.io.IOException;
-import java.io.InputStream;
 
 public class TestSignedData extends CmsTestBase {
 
