//import decs import groovy.json.* import wslite.rest.* def serviceHost = context.expand ('${#Project#TestEndpoint}') //'https://whatevs.azurewebsites.net' //Below to handle template parameter, additional $ required before def getNamespaceDatasetPath = '''/api/1/${namespace}/${dataset}''' //define all template param values as shown below def binding = [namespace : context.expand( '${#TestCase#namespace}') , dataset : context.expand('${#TestCase#dataset}')] //def binding = [namespace : 'certification-nomenclature', dataset : 'certification-nomenclature'] def template = new groovy.text.SimpleTemplateEngine().createTemplate(getNamespaceDatasetPath) def queryParams = [:] //Get the properties of Property Test step context.testCase.testSteps["Properties"].properties.each { queryParams[it.key] = it.value.value } def client = new RESTClient(serviceHost) def response = client.get(path: template.make(binding) as String, accept: ContentType.JSON, query : queryParams ) assert response.statusCode == 200 log.info groovy.json.JsonOutput.prettyPrint(response.text) def object = new JsonSlurper().parseText(response.text) assert object.header.success == true //assert response.text, 'Request parameter is correct' //def json = new groovy.json.JsonSlurper().parseText(response.text) //this lineisn't needed as I already pass the response to the object variable above //assert object.data.Name.every{'Richard' == it} assert object.data.Name.every{context.expand('${Properties#Name}') == it} def count = 'count' def step3 = context.testCase.testSteps['Properties 1'] //step3.propertyNames?.each { step3.removeProperty(it) } def prop3 = step3.hasProperty(count) ? step3.getProperty(count) : step3.addProperty (count) prop3.value = object.meta.count