How do Responder Suites work?

robbinsmkrobbinsmk Posts: 8

I am learning and playing with the Community Edition of the SOATest and Virtualize tool. I am working on Virtualizing some services. I am can see that you can create multiple responder suites under a service. But I am confused as to how those work. How would I use those?

I have a Service that the base endpoint with others built off of this. Would I put those under different Suites? or lump all the responses under one?

Can some one point me in the right direction and show me where I can find out when and why you would use the responder suites?

Comments

  • benken_parasoftbenken_parasoft Posts: 343 ✭✭✭

    A responder suite acts as a container for responders and child responder suites. A virtual asset (pva) always has a top level responder suite. You can optionally create child responder suites to group responders to your preference, for organizational purposes. A responder suite also encapsulates some configuration settings that can be shared by the child responders, including data source definitions and variables.

    Virtualize gives you the feedom and flexibility to structure the responders and responder suites and in your virtual asset (pva) however you like. You can double click or right-click on a responder suite to see the types of configuration options that are available.

  • robbinsmkrobbinsmk Posts: 8

    Thanks for responding and answering my question. Based on what you said I think I am using them right but I am not getting the response I would expect.
    Do you have an example?

    Here is an example of what I am trying to virtualize:

    I have a service called 'Budget'.

    1. Endpoint: localhost:####/budget
      • This endpoint creates a budget
    2. Endpoint: localhost:####/budget/[budgetID]/issued
      • This endpoint gives me the total of points issued for the given budget.
    3. Endpoint: localhost:####/budget?client=[#######]
      • This endpoint gives me all the budgets for a client.

    These are all under the budget service. Originally I created a service and the top level 'Responder Suite' contained all the responses under Budget then for the other two children endpoints I created a 'Responder Suite' for each them as siblings under the main Budget Responder Suite. I am not sure if this is the correct usage or not.

    Then when I went to a browser to hit each endpoint I got the top response that I created for the Budget(Parent) 'Responder Suite' every time. When I moved all the responses up under the parent Responder Suite I started getting the correct results.

    Question: Am I using Responder Suite correctly? Based on your response it seems correct but I am not getting the response I am expecting. What am I missing?

  • benken_parasoftbenken_parasoft Posts: 343 ✭✭✭
    edited March 2017

    As mentioned, responder suites allow you to group responders according to your personal preference. There is not necessarily a "right" or a "wrong" in this respect.

    The issue sounds like the correlation for your responders isn't configured correctly. Your pva should have a responder for each "operation" which is typically the HTTP method and URL Path. On the responder's "Responder Correlation" tab you need to configure what HTTP method and URL Path (for example) to match on.

    When a message arrives, Virtualize will search the pva for a responder that correlates with the incoming message. The first responder that correlates is typically the one that is executed to generate the response.

  • robbinsmkrobbinsmk Posts: 8

    OK makes sense. So for my 2nd endpoint above I have in the Responder Correlation on the URL Path is has the path /#####/issue. But when I put that responder in a Response Suite it doesn't return the correct response. When I take it out of the Response suite it finds it without problems and returns the correct response. Should I be setting any of the other Responder Correlation configs?

  • benken_parasoftbenken_parasoft Posts: 343 ✭✭✭
    edited March 2017

    I would recommend monitoring the Virtual Asset and checking the Event Log. This will help you see which responder is correlating with the incoming message. If you have more than one responder with matching correlation than the first one that matches will respond. This is the only situation where the order or positioning of the responder in the pva would matter.

    See Parasoft Virtualize User's Guide > Working with Virtual Assets > Deploying Virtual Assets > Gaining Visibility into Server Events

  • robbinsmkrobbinsmk Posts: 8
    edited March 2017

    The Service hasn't been implemented yet. I have a definition and I am manually having to build it to create my automated tests against. I will look and see if any part of the message is matching incorrectly. Any pointers on the things to look for?

  • robbinsmkrobbinsmk Posts: 8

    In the corresponding Responder to the incorrect response I keep getting there is no configuration set up in the Responder Correlation tab. How else would it match the request to the responder?

  • benken_parasoftbenken_parasoft Posts: 343 ✭✭✭
    edited March 2017

    If a responder has no correlation enabled, it acts like a match-all. It will correlate on anything. In other words, unless you pick a specific HTTP method to correlate on, that responder will match on any HTTP method. Unless you pick a specific URL Path to match on, the responder will match any URL path.

  • OmarROmarR Posts: 177 admin
    edited March 2017

    Hello Robbinsmk,

    There will be a "How to" Virtualize Webinar next Tuesday (3-7-17) that will will walk new users through some of the most useful (and awesome!) features of Virtualize.
    Below is the post with more information.... :)

    http://forums.parasoft.com/discussion/2821/parasoft-virtualize-community-edition-how-to-webinar-3-7-2017

  • robbinsmkrobbinsmk Posts: 8

    That makes complete sense. Thank you!

Sign In or Register to comment.