  it('should respond with {{length description}}{{#if requestMessage}} and {{requestMessage}}{{/if}}', function(done) {
      {{#validateResponse returnType noSchema}}
      /*eslint-disable*/
      {{> schema-partial this}}

      /*eslint-enable*/
      {{/validateResponse}}
      request({
        url: '{{pathify path pathParams}}',
        {{#isJsonRepresentation contentType returnType}}
        json: true,
        {{/isJsonRepresentation}}
        {{#ifCond queryParameters queryApiKey}}
        qs: {
          {{#if queryApiKey}}{{queryApiKey.type}}: process.env.{{queryApiKey.name}}{{#if queryParameters}},
          {{/if}}{{/if}}{{#if queryParameters}}{{#each queryParameters}}{{this.name}}: {{requestDataParamFormatter this.name this.type ../requestParameters}}{{#unless @last}},{{/unless}}{{/each}}{{/if}}
        },
        {{/ifCond}}
        method: 'POST',
        headers: {
          'Content-Type': '{{contentType}}'{{#if headerParameters}},
          {{#each headerParameters}}'{{this.name}}': {{requestDataParamFormatter this.name 'string' ../requestParameters}}{{#unless @last}},
          {{/unless}}{{/each}}{{/if}}{{#if headerApiKey}},
          {{headerApiKey.type}}: process.env.{{headerApiKey.name}}{{/if}}{{#if headerSecurity}},
          Authorization: '{{headerSecurity.type}} ' + process.env.{{headerSecurity.name}}{{/if}}
        },
        {{#isJsonMediaType contentType}}
        {{#if request}}body: {{ request }}{{else}}body: {
          {{#each bodyParameters}}
          {{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}
          {{/each}}
        }{{/if}}
      },
        {{/isJsonMediaType}}
        {{#is contentType 'application/x-www-form-urlencoded'}}
        form: {
          {{#each formParameters}}
          {{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}
          {{/each}}
        }
      },
        {{/is}}
        {{#is contentType 'multipart/form-data'}}
        form: {
          {{#each formParameters}}
          {{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}
          {{/each}}
        }
      },
        {{/is}}
        {{#is contentType 'application/xml'}}
        body: 'XML STRING GOES HERE'
      },
        {{/is}}
      function(error, res, body) {
        if (error) return done(error);

        {{#is assertion 'expect'}}
        {{#if default}}
        expect(res.statusCode).to.equal('DEFAULT RESPONSE CODE HERE');
        {{else}}
        expect(res.statusCode).to.equal({{responseCode}});
        {{/if}}
        {{/is}}
        {{#is assertion 'should'}}
        {{#if default}}
        res.statusCode.should.equal('DEFAULT RESPONSE CODE HERE');
        {{else}}
        res.statusCode.should.equal({{responseCode}});
        {{/if}}
        {{/is}}
        {{#is assertion 'assert'}}
        {{#if default}}
        assert.equal(res.statusCode, 'DEFAULT RESPONSE CODE HERE');
        {{else}}
        assert.equal(res.statusCode, {{responseCode}});
        {{/if}}
        {{/is}}

        {{#validateResponse returnType noSchema}}
        {{#is assertion 'expect'}}
        expect(validator.validate(body, schema)).to.be.true;
        {{/is}}
        {{#is assertion 'should'}}
        validator.validate(body, schema).should.be.true;
        {{/is}}
        {{#is assertion 'assert'}}
        assert.true(validator.validate(body, schema));
        {{/is}}
        {{else}}
        {{#isPdfMediaType returnType}}
        {{#is assertion 'expect'}}
        expect(body).to.deep.equal(new Buffer(Number(res.header['content-length'])));
        {{/is}}
        {{#is assertion 'should'}}
        body.should.deep.equal(new Buffer(Number(res.header['content-length'])));
        {{/is}}
        {{#is assertion 'assert'}}
        assert.deepEqual(body, new Buffer(Number(res.header['content-length'])));
        {{/is}}
        {{else}}
        {{#is assertion 'expect'}}
        expect(body).to.equal(null); // non-json response or no schema
        {{/is}}
        {{#is assertion 'should'}}
        body.should.equal(null); // non-json response or no schema
        {{/is}}
        {{#is assertion 'assert'}}
        assert.isNull(body); // non-json response or no schema
        {{/is}}
        {{/isPdfMediaType}}
        {{/validateResponse}}
        done();
      });
    });
{{#if isLoadTest}}
    it('load tests with {{length description}}', function(done) {
      arete.loadTest({
        name: '{{loadName}}',
        requests: {{requests}},
        concurrentRequests: {{concurrent}},
        targetFunction: function(callback) {
          request({
            url: '{{pathify path pathParams}}',
            {{#ifCond queryParameters queryApiKey}}
            qs: {
              {{#if queryApiKey}}{{queryApiKey.type}}: process.env.{{queryApiKey.name}}{{#if queryParameters}},
              {{/if}}{{/if}}{{#if queryParameters}}{{#each queryParameters}}{{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}{{/each}}{{/if}}
            },
            {{/ifCond}}
            method: 'POST',
            headers: {
              'Content-Type': '{{contentType}}'{{#if headerParameters}},
              {{#each headerParameters}}'{{this.name}}': 'DATA GOES HERE'{{#unless @last}},{{/unless}}{{/each}}{{/if}}{{#if headerApiKey}},
              {{headerApiKey.type}}: process.env.{{headerApiKey.name}}{{/if}}{{#if headerSecurity}},
              Authorization: '{{headerSecurity.type}} ' + process.env.{{headerSecurity.name}}{{/if}}
            },
            {{#isJsonMediaType contentType}}
            body: {
              {{#each bodyParameters}}
              {{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}
              {{/each}}
            }
          },
            {{/isJsonMediaType}}
            {{#is contentType 'application/x-www-form-urlencoded'}}
            form: {
              {{#each formParameters}}
              {{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}
              {{/each}}
            }
          },
            {{/is}}
            {{#is contentType 'multipart/form-data'}}
            form: {
              {{#each formParameters}}
              {{this.name}}: 'DATA GOES HERE'{{#unless @last}},{{/unless}}
              {{/each}}
            }
          },
            {{/is}}
            {{#is contentType 'application/xml'}}
            body: 'XML STRING GOES HERE'
          },
            {{/is}}
          function(error, res, body) {
            callback(error, body);
          });
        },
        printResponses: false, // true or false
        printReport: true, // true or false
        printSteps: true, // true or false
        callback: function(error, report) {
          if (error) return done(error);

          {{#is assertion 'expect'}}
          expect(report.successfulResponses.length).
          to.equal(report.results.length);
          expect(report.averageResponseTimeInternal).
          to.be.lessThan('TIME DATA HERE');
          expect(report.timeElapsed).
          to.be.lessThan('TIME DATA HERE');
          {{/is}}
          {{#is assertion 'should'}}
          report.successfulResponses.length.
          should.equal(report.results.length);
          (report.averageResponseTimeInternal).
          should.be.lessThan('TIME DATA HERE');
          (report.timeElapsed).
          should.be.lessThan('TIME DATA HERE');
          {{/is}}
          {{#is assertion 'assert'}}
          assert.equal(report.successfulResponses.length,
          report.results.length);
          assert.isBelow(report.averageResponseTimeInternal,
          'TIME DATA HERE');
          assert.isBelow(report.timeElapsed,
          'TIME DATA HERE');
          {{/is}}
          done();
        }
      });
    });
{{/if}}
