1 | "use strict";
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | import chai = require("chai");
|
7 | import "mocha";
|
8 | import { ResponseParser } from "../src/responseparser";
|
9 | import { ResponseTemplateManager } from "../src/responsetemplatemanager";
|
10 |
|
11 | const expect = chai.expect;
|
12 | const rtm = ResponseTemplateManager.getInstance();
|
13 |
|
14 | before(() => {
|
15 | rtm.addTemplate("OK", rtm.generateTemplate("200", "Command completed successfully"));
|
16 | });
|
17 |
|
18 | describe("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 |
|
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 | });
|