UNPKG

2.03 kBPlain TextView Raw
1"use strict";
2
3/* tslint:disable:no-unused-expression */
4// https://github.com/palantir/tslint/issues/2614
5
6import chai = require("chai");
7import "mocha";
8import { ResponseParser } from "../src/responseparser";
9import { ResponseTemplateManager } from "../src/responsetemplatemanager";
10
11const expect = chai.expect;
12const rtm = ResponseTemplateManager.getInstance();
13
14before(() => {
15 rtm.addTemplate("OK", rtm.generateTemplate("200", "Command completed successfully"));
16});
17
18describe("ResponseParser namespace", function () {
19 this.slow(1000);
20
21 describe("#.serialize", () => {
22 it("check return value [w/ PROPERTY]", () => {
23 const r = rtm.getTemplate("OK").getHash();
24 r.PROPERTY = {
25 DOMAIN: ["mydomain1.com", "mydomain2.com", "mydomain3.com"],
26 RATING: ["1", "2", "3"],
27 SUM: [3],
28 };
29 expect(ResponseParser.serialize(r)).to.equal("[RESPONSE]\r\nPROPERTY[DOMAIN][0]=mydomain1.com\r\nPROPERTY[DOMAIN][1]=mydomain2.com\r\nPROPERTY[DOMAIN][2]=mydomain3.com\r\nPROPERTY[RATING][0]=1\r\nPROPERTY[RATING][1]=2\r\nPROPERTY[RATING][2]=3\r\nPROPERTY[SUM][0]=3\r\nCODE=200\r\nDESCRIPTION=Command completed successfully\r\nEOF\r\n");
30 });
31
32 it("check return value [w/o PROPERTY]", () => {
33 const tpl = rtm.getTemplate("OK");
34 expect(ResponseParser.serialize(tpl.getHash())).to.equal(tpl.getPlain());
35 });
36
37 it("check return value [w/o CODE, w/o DESCRIPTION]", () => {
38 // this case shouldn"t happen, otherwise we have an API-side issue
39 const h = rtm.getTemplate("OK").getHash();
40 delete h.CODE;
41 delete h.DESCRIPTION;
42 expect(ResponseParser.serialize(h)).to.equal("[RESPONSE]\r\nEOF\r\n");
43 });
44
45 it("check return value [w/ QUEUETIME, w/ RUNTIME]", () => {
46 const h = rtm.getTemplate("OK").getHash();
47 h.QUEUETIME = "0";
48 h.RUNTIME = "0.12";
49 expect(ResponseParser.serialize(h)).to.equal("[RESPONSE]\r\nCODE=200\r\nDESCRIPTION=Command completed successfully\r\nQUEUETIME=0\r\nRUNTIME=0.12\r\nEOF\r\n");
50 });
51 });
52});