diff --git a/test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot b/test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot
new file mode 100644
index 0000000..b869434
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/APPC_GLOBAL_VARIABLES.robot
@@ -0,0 +1,10 @@
+*** Settings ***
+Documentation        store all properties that can change or are used in multiple places here
+...                    format is all caps with underscores between words and prepended with GLOBAL
+...                   make sure you prepend them with GLOBAL so that other files can easily see it is from this file.
+
+
+*** Variables ***
+${GLOBAL_VNF_RESTART_REQUESTFILE}    ${CURDIR}/LCM_VNF_RESTART_REQUEST.txt
+${GLOBAL_VM_RESTART_REQUESTFILE}     ${CURDIR}/LCM_VM_RESTART_REQUEST.txt
+${GLOBAL_HEALTHCHECK_REQUESTFILE}    ${CURDIR}/LCM_VM_HEALTHCHECK_REQUEST.txt
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck/APPC_Netstat.robot b/test/csit/tests/appc/healthcheck/APPC_Netstat.robot
new file mode 100644
index 0000000..285fc37
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/APPC_Netstat.robot
@@ -0,0 +1,8 @@
+*** Settings ***
+Library    OperatingSystem
+
+*** Test Cases ***
+APPC Netstat
+    [Documentation]    Checking the active ports
+    ${output}=     Run	netstat -a | grep -E 8282 | grep LISTEN
+    Log To Console    ${output}
diff --git a/test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot
new file mode 100644
index 0000000..2259f3f
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/LCM_HEALTHCHECK_TIMESTAMP.robot
@@ -0,0 +1,52 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library    XvfbRobot
+Resource    APPC_GLOBAL_VARIABLES.robot
+Resource    gettime.robot
+
+*** Variable ***
+${ResponseCode}
+${var}
+
+*** Test Cases ***
+    
+APPC LCM API HEALTHCHECK
+	[Documentation]	APPC LCM API HEALTHCHECK 
+	Start Virtual Display     1920     1080
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html	chrome
+	Maximize Browser Window 
+#	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
+
+	Reload Page
+
+#	Wait Until Page Contains Element    xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]   
+
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
+
+	
+#	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
+#	Set Selenium Speed	60
+#	Click link    xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]/following::li[5]/ul/li/div[1]/h3/span[2]/a
+#	Click Element    xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0"]/div[1]/h3/span[2]/a
+	
+#	Get Server time    ${GLOBAL_HEALTHCHECK_REQUESTFILE}
+#	${file_content}=    OperatingSystem.Get File    ${GLOBAL_HEALTHCHECK_REQUESTFILE}
+    
+#	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table
+#	Set Selenium Speed	90
+#	Input Text     xpath=(.//*[contains(text(),'(health-check)input-TOP')])[1]/following::textarea[1]	${file_content} 
+#	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table//tbody/tr/td[2]/textarea    ${file_content}
+	
+#	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1]
+#	Set Selenium Speed	90
+#	Click Element    xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/form/div[2]/input
+	
+##	${var}=    Get Value    xpath= //*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre
+##	Element Text Should Be     xpath=//*[@id="appc-provider-lcm(2016-01-08)_health_check_post_0_content"]/div[2]/div[3]/pre[1][text()='200']     200     expected
+	
+Tear Down
+
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt b/test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt
new file mode 100644
index 0000000..d258b49
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/LCM_VM_HEALTHCHECK_REQUEST.txt
@@ -0,0 +1,25 @@
+{
+"input" : 
+{
+"common-header" : 
+{
+"timestamp" : "2017-10-07T01:28:39.615000Z",
+"api-ver" : "2.00",
+"originator-id" : "SDNGP",
+"request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1",
+"sub-request-id" : "AppCONAP-lcm-HealthCheck-PhilTest#1",
+"flags" : 
+{
+"mode" : "NORMAL",
+"force" : "TRUE",
+"ttl" : 3600
+}
+},
+"action" : "HealthCheck",
+"action-identifiers" : 
+{
+"vnf-id" : "dbax001v"
+},
+"payload" : "{\"request-parameters\":{\"vnf-name\":\"dbax001v\",\"vnf-host-ip-address\":\"https://135.205.240.68:8080/Dispatch/\"},\"configuration-parameters\":{\"vnf_instance\":\"dbax001v\"}}"
+}
+}
diff --git a/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt
new file mode 100644
index 0000000..5e199c9
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_REQUEST.txt
@@ -0,0 +1,24 @@
+{
+"input" : 
+{
+"common-header" : 
+{
+"timestamp" : "2017-09-29T16:30:05.44Z",
+"api-ver" : "2.01",
+"originator-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2",
+"request-id" : "c09ac7d1-de62-0016-2000-e63702155Phil2",
+"sub-request-id" : "150",
+"flags" : 
+{
+"force" : "TRUE",
+"ttl" : 60000
+}
+},
+"action" : "Restart",
+"action-identifiers" : 
+{
+"vnf-id" : "trial-vnf-004"
+},
+"payload" : "{\"vm-id\":\"http://135.25.246.131:8774/v2/81fc2bc61f974de1b5a49e8c2ec090bb/servers/7c95ba81-4aad-4b13-9e94-d6af4f2b06be\",\"identity-url\":\"http://135.25.246.131:5000/v2.0\",\"tenant-id\":\"81fc2bc61f974de1b5a49e8c2ec090bb\"}"
+}
+}
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot
new file mode 100644
index 0000000..768865f
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/LCM_VM_RESTART_TIMESTAMP.robot
@@ -0,0 +1,47 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library     XvfbRobot
+Resource    APPC_GLOBAL_VARIABLES.robot
+Resource    gettime.robot
+
+*** Variable ***
+${ResponseCode}
+${var}
+
+*** Test Cases ***
+APPC LCM API VM RESTART
+	[Documentation]	APPC LCM API VM RESTART 
+	Start Virtual Display     1920     1080
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html    chrome
+	Maximize Browser Window
+#	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
+	
+	Reload Page
+
+#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a  
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
+
+#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]        
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm:restart')]
+	
+#   Get Server time    ${GLOBAL_VM_RESTART_REQUESTFILE}   
+   
+#   ${file_content}=    OperatingSystem.Get File    ${GLOBAL_VM_RESTART_REQUESTFILE}
+    
+#    Wait Until Page Contains Element    xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]
+#	Set Selenium Speed	90
+#	Input Text	   xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1]	${file_content} 
+#	Input Text     xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]      ${file_content}
+
+#	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1]
+	
+#	${var}=    Get Value    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre
+#	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200']     200     expected
+	
+	 
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt
new file mode 100644
index 0000000..ee9b8d9
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_REQUEST.txt
@@ -0,0 +1,24 @@
+{
+"input" : 
+{
+"common-header" : 
+{
+"timestamp" : "2017-10-07T01:39:54.227000Z",
+"api-ver" : "2.00",
+"originator-id" : "c09ac7d1-de62-0016-2000-e63702155555",
+"request-id" : "c09ac7d1-de62-0016-2000-e63701125555",
+"sub-request-id" : "150",
+"flags" : 
+{
+"force" : "TRUE",
+"ttl" : 60000
+}
+},
+"action" : "Restart",
+"action-identifiers" : 
+{
+"vnf-id" : "ibcx8888v"
+},
+"payload" : "{\"AICIdentity\" : \"http://135.25.246.162:5000/v2.0\", \"vnf-host-ip-address\" : \"135.21.166.46\"}"
+}
+}
diff --git a/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot
new file mode 100644
index 0000000..15690f0
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/LCM_VNF_RESTART_TIMESTAMP.robot
@@ -0,0 +1,50 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library     XvfbRobot
+Resource   ${CURDIR}/APPC_GLOBAL_VARIABLES.robot
+Resource   ${CURDIR}/gettime.robot
+
+
+
+*** Variable ***
+${ResponseCode}
+${var}
+
+*** Test Cases ***
+    
+APPC LCM API VNF RESTART
+	[Documentation]	APPC LCM API VNF RESTART 
+	Start Virtual Display     1920     1080
+	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@localhost:8282/apidoc/explorer/index.html    chrome
+	Maximize Browser Window
+#	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
+	
+	Reload Page
+
+#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a  
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm(2016-01-08)')]
+
+
+#	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]        
+#	Set Selenium Speed	60
+#	Click Element     xpath=.//*[contains(text(),'appc-provider-lcm:restart')]
+	
+#	Get Server time    ${GLOBAL_VNF_RESTART_REQUESTFILE}
+#	${file_content}=    OperatingSystem.Get File    ${GLOBAL_VNF_RESTART_REQUESTFILE}
+    
+#    Wait Until Page Contains Element    xpath=//td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]
+#	Set Selenium Speed	90
+#	Input Text	   xpath=(.//*[contains(text(),'(restart)input-TOP')])[5]/following::textarea[1]	${file_content} 
+#	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1]
+
+#	Input Text     xpath= //td[contains(text(), '(restart)input-TOP')]//following::textarea[@name='(restart)input-TOP'][3]      ${file_content}
+	
+#	${var}=    Get Value    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre	
+#	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1][text()='200']     200     expected
+	
+	 
+Tear Down
+    [Documentation]   Close all browsers
+    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/healthcheck/gettime.robot b/test/csit/tests/appc/healthcheck/gettime.robot
new file mode 100644
index 0000000..9f376f9
--- /dev/null
+++ b/test/csit/tests/appc/healthcheck/gettime.robot
@@ -0,0 +1,40 @@
+*** Settings ***
+Library    Selenium2Library
+Library    OperatingSystem
+Library    DateTime
+Library    String
+##Library    HttpLibrary.HTTP
+Library    Collections
+
+
+*** Keywords ***
+
+Get Server time
+    [Documentation]    Getting server time to update the json request
+    [Arguments]     ${RequestFile}    
+    
+    ${date}=    Get Current Date    time_zone=local    result_format=%Y-%m-%dT%H:%M:%S.%fZ    exclude_millis=False 
+    
+    #updating the request file with the server time
+    ${file_content}=    OperatingSystem.Get File    ${RequestFile}
+  	@{list}=    Split to lines  ${file_content} 
+	${data}=    Get from list    ${list}    5
+	@{splitted_string}=    Split String    ${data}    :    1
+    ${time}=    Get From List    ${splitted_string}    1
+    Log    ${time}
+    @{splitted_string_time}=    Split String    ${time}    "    2
+    ${times1}=    Get From List    ${splitted_string_time}    1
+    Log    ${times1}
+    ${replaced_string}=    Replace String    ${data}    ${times1}    ${date}
+    @{list1}=    Split to lines  ${file_content} 
+	Remove from list    ${list1}    5
+	Insert into list    ${list1}    5     ${replaced_string}
+	Remove File     ${RequestFile}                                              
+	:FOR    ${line}    IN    @{list1}
+	\      Append to File    ${RequestFile}    ${line}    encoding=UTF-8
+	\      Append to File    ${RequestFile}    ${\n}    encoding=UTF-8
+	      
+   
+
+ 
+  
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/APPC_Netstat.robot b/test/csit/tests/appc/testsuite/APPC_Netstat.robot
deleted file mode 100644
index 5544fb5..0000000
--- a/test/csit/tests/appc/testsuite/APPC_Netstat.robot
+++ /dev/null
@@ -1,19 +0,0 @@
-*** Settings ***
-Library    SSHLibrary
-Library    OperatingSystem
-*** Variables ***
-${HOST}    104.130.138.49
-${USERNAME}    test            
-${private_key}    H:\\TestSuite\\testsuite\\robot\\testsuites               
-*** Test Cases ***
-APPC Netstat 
-   Open Connection    ${HOST}
-   ${password}=    Get File    ${private_key}
-   Login    ${USERNAME}    ${password}
-   log to console      \nConnected Successfully
-   ${cmd} =    set variable    netstat -a | grep -E '8443 | grep LISTEN
-   execute command     ${cmd}
-       
-Tear Down
-    [Documentation]   Close all connections
-    Close All connections
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot b/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot
deleted file mode 100644
index c3594ef..0000000
--- a/test/csit/tests/appc/testsuite/LCM_HEALTHCHECK.robot
+++ /dev/null
@@ -1,33 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-
-*** Variable ***
-${ResponseCode}
-${var}
-${RequestJSON}    C:\\RobotSampleForLearning\\LearningSamples\\Resources\\Healthchk.json
-
-
-*** Test Cases ***
-    
-APPC LCM Health check
-	[Documentation]	APPC HealthCheck 
-	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome
-	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
-	
-	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a   
-	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
-	
-	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
-	Click Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]
-	
-	${HealthChk}=    Get File    ${RequestJSON}
-	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table
-	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::table//tbody/tr/td[2]/textarea    ${HealthChk}
-	
-	wait until page contains element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1]
-	Click Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:health-check')]//following::form/div[2]/input[1]
-	
-Tear Down
-    [Documentation]   Close all browsers
-    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot
deleted file mode 100644
index 997ba17..0000000
--- a/test/csit/tests/appc/testsuite/LCM_VM_RESTART.robot
+++ /dev/null
@@ -1,31 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-
-*** Variable ***
-${ResponseCode}
-${var}
-${RequestJSON}    /LearningSamples/Resources/VMRestart.json
-
-
-*** Test Cases ***
-    
-APPC API VM RESTART
-	[Documentation]	APPC VM LCM Restart 
-	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome 
-	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
-	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
-	Click Element     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23"]/div[1]/h3/span[2]/a
-	${VM_LCM_RESTART}     Get File    ${RequestJSON}
-	Input Text     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/table/tbody/tr/td[2]/textarea     ${VM_LCM_RESTART}
-	Click Element     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/form/div[2]/input
-	# Get Text locator
-	${ResponseCode}    Get Text     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre
-	${var}    Get Value    xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre
-	Log     Value-->    ${ResponseCode}
-	Log     var-->    ${var}
-	Element Text Should Be     xpath=//*[@id="appc-provider-lcm(2016-01-08)_restart_post_23_content"]/div[2]/h4[contains(text(),'Response Code')]//following::div//pre     400     expected
-	
-Tear Down
-    [Documentation]   Close all browsers
-    Close All Browsers
\ No newline at end of file
diff --git a/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot b/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot
deleted file mode 100644
index 1bb2c13..0000000
--- a/test/csit/tests/appc/testsuite/LCM_VNF_RESTART.robot
+++ /dev/null
@@ -1,45 +0,0 @@
-*** Settings ***
-Library    Selenium2Library
-Library    OperatingSystem
-
-*** Variable ***
-${ResponseCode}
-${var}
-${RequestJSON}    C:\\RobotSampleForLearning\\LearningSamples\\Resources\\VNFRestart.json
-
-
-*** Test Cases ***
-    
-APPC API VM RESTART
-	[Documentation]	APPC VM LCM Restart 
-	Open Browser    http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@104.130.138.49:8282/apidoc/explorer/index.html    chrome 
-	Click Element    xpath=.//p[contains(text(),'If you have reason to expect the website is safe, select the I Accept the Risk button to continue.')]//following::img
-	
-	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a   
-	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a
-	
-	
-	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]        
-	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]
-	
-	
-	${VNF_LCM_RESTART}=     Get File    ${RequestJSON}
-	Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table
-	
-	Input Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::table//tbody/tr/td[2]/textarea     ${VNF_LCM_RESTART}
-	
-	# Wait Until Page Contains Element    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]/form/div[2]/input    
-	Click Element     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::form/div[2]/input[1]
-	
-	# Get Text locator
-	${ResponseCode}    Get Text     xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre
-	
-	# //*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')]//following-sibling::div//pre
-	${var}    Get Value    xpath=//*[@id="resource_appc-provider-lcm(2016-01-08)"]/div/h2/a//following::a[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[contains(text(),'Response Code')][1]//following-sibling::div//pre
-	Log     Value-->    ${ResponseCode}
-	Log     var-->    ${var}
-	Element Text Should Be     xpath=//*[contains(text(),'/operations/appc-provider-lcm:restart')]//following::h4[text()='Response Code'][1]//following-sibling::div//pre[1]     200     expected
-	
-Tear Down
-    [Documentation]   Close all browsers
-    Close All Browsers
\ No newline at end of file
