开发者

Test RESTful JSON Grails Webservice

I want to test my secured webservice to the following:

  • UrlMapping correct, so are the following services available or not?
  • Test GET/POST/PUT/DELETE and their rendered feedback as well as errors
  • Test error messages when logged in and not logged in

Can somebody give me some hints how to do this? I have no clue how accessing the grails security service and as well running tests against my controllers when logged in and when not. As well I need some Mock Server or something to test against my controllers or?

Sorry I am very new to this topic but I want to go in the right direction before loosing control over my webservi开发者_如何学JAVAces.

Thank you for your help!


We use the REST Client plugin along with the functional testing plugin to test all our web services.

For example...

void testCreateTag() {
    def name = 'Test Name'
    def jsonText = """
         {
           "class":"Tag",
           "name":"${name}"
         }
      """

    post('/api/tag') {
      headers['x-user-external-id'] = securityUser.externalId
      headers['x-user-api-key'] = securityUser.apiKey
      headers['Content-type'] = 'application/json'
      body {
        jsonText
      }
    }

    def model = this.response.contentAsString
    def map = JSON.parse(model)

    assertNotNull(map.attributes.id)

    Tag.withNewSession {
      def tag = Tag.get(map.attributes.id)

      assertNotNull(tag)
      assertEquals(name, tag.name)
    }
}


I have similar code which uses the built in (groovy 1.8) JsonSlurper which I think might be more reliable and only needs the functional test plugin but not the REST Client plugin.

    String baseUrlString = 'http://localhost:8080/**YOURAPP**'

    baseURL = baseUrlString

    post('/j_spring_security_check?')

    assertStatus 200
    assertContentDoesNotContain('Access Denied')

    get("/*your test URL*/")

    def jsonObj = new JsonSlurper().parseText(this.response.contentAsString)
    assertEquals(jsonObj.your.object.model, **yourContent**)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜