import java.util.concurrent.CancellationException
import groovyx.net.http.HTTPBuilder
import static groovyx.net.http.Method.GET
import static groovyx.net.http.Method.POST
import static groovyx.net.http.Method.DELETE
import static groovyx.net.http.Method.PUT
import static groovyx.net.http.ContentType.TEXT
import static groovyx.net.http.ContentType.JSON
import static groovyx.net.http.ContentType.XML
import groovy.xml.XmlUtil
import java.util.logging.Logger
import java.nio.file.Files
import java.nio.file.FileSystems
import org.apache.http.entity.mime.MultipartEntityBuilder
import org.apache.http.entity.mime.content.ByteArrayBody
import groovyx.net.http.HttpResponseDecorator
import org.apache.commons.io.IOUtils
.....
def testname = projectProperties.TEST_NAME
def vse = projectProperties.VSE
def password = projectProperties.PASSWORD
def username = projectProperties.USERNAME
def vsiFileDir = projectProperties.GENERATED_VS_FOLDER.replace("\\", "/").replace("%20", " ")
def httpverif = new HTTPBuilder()
def httpverif2 = new HTTPBuilder()
def url = "http://xxxxxxxx:1505/api/Dcm/VSEs/${vse}/${testname}"
logger.info("${vsiFileDir}")
httpverif.request( url, GET, TEXT ) {
def login = "${username}:${password}".bytes.encodeBase64().toString()
headers.'Authorization' = "Basic ${login}"
headers.'accept'='application/vnd.ca.lisaInvoke.virtualService+xml'
response.'200' = { resp, reader ->
println "======================================="
println "============ Response 200 ============="
println "======================================="
def url1 = "http://xxxxxxxxxxxxx:1505/api/Dcm/VSEs/${vse}/${testname}"
httpverif2.request( url1, DELETE, TEXT ) {
headers.'Authorization' = "Basic ${login}"
headers.'accept'='application/xml'
println "======================================="
println "====== DELETE of Virtual Service ====="
println "======================================="
response.'204' = { resp1, reader1 ->
println "======================================="
println "============ Response 204 ============="
println "======================================="
def httpBuilder = new HTTPBuilder("http://xxxxxxxxxxx:1505/api/Dcm/VSEs/${vse}/actions/deployMar")
String filename = "${vsiFileDir}/${testname}.mar"
httpBuilder.request(POST) { multipartRequest ->
headers.'Authorization' ="Basic ${login}"
headers.'accept'='application/vnd.ca.lisaInvoke.virtualService+xml'
MultipartEntityBuilder multipartRequestEntity = new MultipartEntityBuilder()
multipartRequestEntity.addPart('file', new ByteArrayBody(
IOUtils.toByteArray(new FileInputStream(new File(filename))),"${testname}.mar"))
multipartRequest.entity = multipartRequestEntity.build()
response.success = { HttpResponseDecorator resp3, data3 ->
if (resp3.getStatus() == 201) { //201 created OK
println "Deploy Mar OK"
} else {
println "Failure of deploy Mar"
}
}
response.failure = { HttpResponseDecorator resp3, data3 ->
println "Failure of deploy Mar"
}
}
println "======================================="
println "====== Virtual Service is deploy ======"
println "======================================="
}
}
}
response.'500' = { resp2, reader2 ->
println "======================================="
println "============ Response 500 ============="
println "======================================="
def httpBuilder = new HTTPBuilder("http://xxxxxxx:1505/api/Dcm/VSEs/${vse}/actions/deployMar")
String filename = "${vsiFileDir}/${testname}.mar"
httpBuilder.request(POST){ multipartRequest ->
headers.'Authorization' ="Basic ${login}"
headers.'accept'='application/vnd.ca.lisaInvoke.virtualService+xml'
MultipartEntityBuilder multipartRequestEntity = new MultipartEntityBuilder()
multipartRequestEntity.addPart('file', new ByteArrayBody(
IOUtils.toByteArray(new FileInputStream(new File(filename))),"${testname}.mar"))
multipartRequest.entity = multipartRequestEntity.build()
response.success = { HttpResponseDecorator resp3, data3 ->
If (resp3.getStatus() == 201) { //201 created OK
println "Deploy Mar OK"
} else {
println "Failure of deploy Mar"
}
}
response.failure = { HttpResponseDecorator resp3, data3 ->
println "Failure of deploy Mar"
}
}
println "======================================="
println "====== Virtual Service is deploy ======"
println "======================================="
}
}
println "======================================="
println "============ End of script ============"
Println "======================================="