@Test
  public void doTest() throws Exception {
    // Set up the Http Call Bean to make the request
    CougarManager cougarManager1 = CougarManager.getInstance();
    HttpCallBean getNewHttpCallBean1 = cougarManager1.getNewHttpCallBean("87.248.113.14");
    cougarManager1 = cougarManager1;

    getNewHttpCallBean1.setOperationName("testParameterStylesQA");

    getNewHttpCallBean1.setServiceName("baseline", "cougarBaseline");

    getNewHttpCallBean1.setVersion("v2");

    Map map2 = new HashMap();
    map2.put("HeaderParam", "Foo");
    getNewHttpCallBean1.setHeaderParams(map2);
    // Set the query parameter to a string containing encoded :
    Map map3 = new HashMap();
    map3.put("queryParam", "colon%3A");
    map3.put("dateQueryParam", "2009-06-01T13:50:00.0Z");
    getNewHttpCallBean1.setQueryParams(map3);

    CougarHelpers cougarHelpers4 = new CougarHelpers();
    Date convertedDate1 = cougarHelpers4.convertToSystemTimeZone("2009-06-01T13:50:00.0Z");
    // Get current time for getting log entries later

    Timestamp getTimeAsTimeStamp8 = new Timestamp(System.currentTimeMillis());
    // Make the 4 REST calls to the operation
    cougarManager1.makeRestCougarHTTPCalls(getNewHttpCallBean1);
    // Create the expected response as an XML document
    XMLHelpers xMLHelpers6 = new XMLHelpers();
    Document createAsDocument10 =
        xMLHelpers6.createAsDocument(
            DocumentBuilderFactory.newInstance()
                .newDocumentBuilder()
                .parse(
                    new ByteArrayInputStream(
                        ("<SimpleResponse><message>headerParam=Foo,queryParam=colon:,dateQueryParam="
                                + cougarHelpers4.dateInUTC(convertedDate1)
                                + "</message></SimpleResponse>")
                            .getBytes())));
    // Convert the expected response to REST types for comparison with actual responses
    Map<CougarMessageProtocolRequestTypeEnum, Object> convertResponseToRestTypes11 =
        cougarManager1.convertResponseToRestTypes(createAsDocument10, getNewHttpCallBean1);
    // Check the 4 responses are as expected
    HttpResponseBean response7 =
        getNewHttpCallBean1.getResponseObjectsByEnum(
            com.betfair.testing.utils.cougar.enums.CougarMessageProtocolResponseTypeEnum
                .RESTXMLXML);
    AssertionUtils.multiAssertEquals(
        convertResponseToRestTypes11.get(CougarMessageProtocolRequestTypeEnum.RESTXML),
        response7.getResponseObject());
    AssertionUtils.multiAssertEquals((int) 200, response7.getHttpStatusCode());
    AssertionUtils.multiAssertEquals("OK", response7.getHttpStatusText());

    HttpResponseBean response8 =
        getNewHttpCallBean1.getResponseObjectsByEnum(
            com.betfair.testing.utils.cougar.enums.CougarMessageProtocolResponseTypeEnum
                .RESTJSONJSON);
    AssertionUtils.multiAssertEquals(
        convertResponseToRestTypes11.get(CougarMessageProtocolRequestTypeEnum.RESTJSON),
        response8.getResponseObject());
    AssertionUtils.multiAssertEquals((int) 200, response8.getHttpStatusCode());
    AssertionUtils.multiAssertEquals("OK", response8.getHttpStatusText());

    HttpResponseBean response9 =
        getNewHttpCallBean1.getResponseObjectsByEnum(
            com.betfair.testing.utils.cougar.enums.CougarMessageProtocolResponseTypeEnum
                .RESTXMLJSON);
    AssertionUtils.multiAssertEquals(
        convertResponseToRestTypes11.get(CougarMessageProtocolRequestTypeEnum.RESTJSON),
        response9.getResponseObject());
    AssertionUtils.multiAssertEquals((int) 200, response9.getHttpStatusCode());
    AssertionUtils.multiAssertEquals("OK", response9.getHttpStatusText());

    HttpResponseBean response10 =
        getNewHttpCallBean1.getResponseObjectsByEnum(
            com.betfair.testing.utils.cougar.enums.CougarMessageProtocolResponseTypeEnum
                .RESTJSONXML);
    AssertionUtils.multiAssertEquals(
        convertResponseToRestTypes11.get(CougarMessageProtocolRequestTypeEnum.RESTXML),
        response10.getResponseObject());
    AssertionUtils.multiAssertEquals((int) 200, response10.getHttpStatusCode());
    AssertionUtils.multiAssertEquals("OK", response10.getHttpStatusText());

    // generalHelpers.pauseTest(500L);
    // Check the log entries are as expected

    cougarManager1.verifyRequestLogEntriesAfterDate(
        getTimeAsTimeStamp8,
        new RequestLogRequirement("2.8", "testParameterStylesQA"),
        new RequestLogRequirement("2.8", "testParameterStylesQA"),
        new RequestLogRequirement("2.8", "testParameterStylesQA"),
        new RequestLogRequirement("2.8", "testParameterStylesQA"));
  }
  @Test
  public void doTest() throws Exception {
    // Set up the Http Call Bean to make the request
    CougarManager cougarManager1 = CougarManager.getInstance();
    HttpCallBean getNewHttpCallBean1 = cougarManager1.getNewHttpCallBean("87.248.113.14");
    cougarManager1 = cougarManager1;

    getNewHttpCallBean1.setOperationName("complexMapOperation");

    getNewHttpCallBean1.setServiceName("baseline", "cougarBaseline");

    getNewHttpCallBean1.setVersion("v2");
    // Instruct cougar to use a delegate to populate the complex response object
    getNewHttpCallBean1.setRestPostQueryObjects(
        DocumentBuilderFactory.newInstance()
            .newDocumentBuilder()
            .parse(
                new ByteArrayInputStream(
                    "<message><complexMap><entry key=\"DELEGATE\"><SomeComplexObject/></entry></complexMap></message>"
                        .getBytes())));
    // Get current time for getting log entries later

    Timestamp getTimeAsTimeStamp7 = new Timestamp(System.currentTimeMillis());
    // Make the XML call to the operation with XML response type
    cougarManager1.makeRestCougarHTTPCall(
        getNewHttpCallBean1,
        com.betfair.testing.utils.cougar.enums.CougarMessageProtocolRequestTypeEnum.RESTXML,
        com.betfair.testing.utils.cougar.enums.CougarMessageContentTypeEnum.XML);
    // Make the XML call to the operation with JSON response type
    cougarManager1.makeRestCougarHTTPCall(
        getNewHttpCallBean1,
        com.betfair.testing.utils.cougar.enums.CougarMessageProtocolRequestTypeEnum.RESTXML,
        com.betfair.testing.utils.cougar.enums.CougarMessageContentTypeEnum.JSON);
    // Create date object expected to be received in response object

    String date =
        TimingHelpers.convertUTCDateTimeToCougarFormat(
            (int) 1970, (int) 1, (int) 1, (int) 0, (int) 1, (int) 52, (int) 233);
    // Create the expected response as an XML document (using date just created)
    XMLHelpers xMLHelpers4 = new XMLHelpers();
    Document expectedResponseXML =
        xMLHelpers4.createAsDocument(
            DocumentBuilderFactory.newInstance()
                .newDocumentBuilder()
                .parse(
                    new ByteArrayInputStream(
                        ("<ComplexMapOperationResponse><ComplexMapOperationResponseObject><responseMap><entry key=\"object1\"><SomeComplexObject><dateTimeParameter>"
                                + date
                                + "</dateTimeParameter><listParameter><String>item1</String><String>item2</String></listParameter><enumParameter>BAR</enumParameter><stringParameter>delegate1</stringParameter></SomeComplexObject></entry><entry key=\"object2\"><SomeComplexObject><dateTimeParameter>"
                                + date
                                + "</dateTimeParameter><listParameter><String>item1</String><String>item2</String></listParameter><enumParameter>BAR</enumParameter><stringParameter>delegate2</stringParameter></SomeComplexObject></entry><entry key=\"object3\"><SomeComplexObject><dateTimeParameter>"
                                + date
                                + "</dateTimeParameter><listParameter><String>item1</String><String>item2</String></listParameter><enumParameter>BAR</enumParameter><stringParameter>delegate3</stringParameter></SomeComplexObject></entry></responseMap></ComplexMapOperationResponseObject></ComplexMapOperationResponse>")
                            .getBytes())));
    // Create the expected response as an JSON document (using date just created)
    JSONHelpers jSONHelpers5 = new JSONHelpers();
    JSONObject expectedResponseJSON =
        jSONHelpers5.createAsJSONObject(
            new JSONObject(
                "{responseMap:{object1:{dateTimeParameter:\""
                    + date
                    + "\",listParameter:[item1,item2],enumParameter:\"BAR\",stringParameter:\"delegate1\"},object2:{dateTimeParameter:\""
                    + date
                    + "\",listParameter:[item1,item2],enumParameter:\"BAR\",stringParameter:\"delegate2\"},object3:{dateTimeParameter:\""
                    + date
                    + "\",listParameter:[item1,item2],enumParameter:\"BAR\",stringParameter:\"delegate3\"}}}"));
    // Check the XML response is as expected
    HttpResponseBean response6 =
        getNewHttpCallBean1.getResponseObjectsByEnum(
            com.betfair.testing.utils.cougar.enums.CougarMessageProtocolResponseTypeEnum
                .RESTXMLXML);
    AssertionUtils.multiAssertEquals(expectedResponseXML, response6.getResponseObject());
    AssertionUtils.multiAssertEquals((int) 200, response6.getHttpStatusCode());
    AssertionUtils.multiAssertEquals("OK", response6.getHttpStatusText());
    // Check the JSON response is as expected
    HttpResponseBean response7 =
        getNewHttpCallBean1.getResponseObjectsByEnum(
            com.betfair.testing.utils.cougar.enums.CougarMessageProtocolResponseTypeEnum
                .RESTXMLJSON);
    AssertionUtils.multiAssertEquals(expectedResponseJSON, response7.getResponseObject());
    AssertionUtils.multiAssertEquals((int) 200, response7.getHttpStatusCode());
    AssertionUtils.multiAssertEquals("OK", response7.getHttpStatusText());

    // generalHelpers.pauseTest(500L);
    // Check the log entries are as expected

    cougarManager1.verifyRequestLogEntriesAfterDate(
        getTimeAsTimeStamp7,
        new RequestLogRequirement("2.8", "complexMapOperation"),
        new RequestLogRequirement("2.8", "complexMapOperation"));
  }