diff --git a/lifecycle-test/pom.xml b/lifecycle-test/pom.xml
index e81c0ab..cafaabb 100644
--- a/lifecycle-test/pom.xml
+++ b/lifecycle-test/pom.xml
@@ -42,5 +42,28 @@
 	   	<artifactId>javax.ws.rs-api</artifactId>
 	    <version>2.0.1</version>
 	</dependency>
+	<!-- UT -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.10</version>
+            <scope>test</scope>
+        </dependency>
+        <!-- jersey -->
+        <dependency>
+            <groupId>org.glassfish.jersey.core</groupId>
+            <artifactId>jersey-server</artifactId>
+            <version>2.16</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.media</groupId>
+            <artifactId>jersey-media-multipart</artifactId>
+            <version>2.16</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jersey.containers</groupId>
+            <artifactId>jersey-container-servlet-core</artifactId>
+            <version>2.16</version>
+        </dependency>
 </dependencies>
 </project>
diff --git a/lifecycle-test/src/test/java/org/openo/vnfsdk/lctest/resources/LifecycleResourceTest.java b/lifecycle-test/src/test/java/org/openo/vnfsdk/lctest/resources/LifecycleResourceTest.java
new file mode 100644
index 0000000..410d69f
--- /dev/null
+++ b/lifecycle-test/src/test/java/org/openo/vnfsdk/lctest/resources/LifecycleResourceTest.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright 2017 Huawei Technologies Co., Ltd.
+ *
+ * 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 org.openo.vnfsdk.lctest.resources;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.InputStream;
+
+import javax.ws.rs.core.Response;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class LifecycleResourceTest {
+
+	private LifecycleResource lifecycleResource;
+    private String instanceId = "1234567";
+
+    @Before
+    public void setUp() {
+    	lifecycleResource = new LifecycleResource();
+    }
+
+ // @Ignore
+    @Test
+    public void testUploadPackage() throws Exception {
+      InputStream ins = null;
+      Response result = null;
+      result = lifecycleResource.lctest(ins);
+      assertNotNull(result);
+      assertEquals(200, result.getStatus());
+    }
+}
