oadr-response.spec.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. 'use strict';
  2. const { expect } = require('chai');
  3. const { parse, serialize } = require('../../../../xml/poll/oadr-response');
  4. const { oadrResponse1Xml } = require('./xml-responses');
  5. const { oadrResponse1 } = require('./js-responses');
  6. describe('Oadr response', function() {
  7. describe('parse', function() {
  8. let parsedResponse;
  9. before(async () => {
  10. parsedResponse = await parse(oadrResponse1Xml);
  11. });
  12. it ('successfully parses valid message', function() {
  13. expect(parsedResponse.venId).to.eql('D8:1D:4B:20:5A:65:4C:50:32:FA');
  14. });
  15. it ('successfully parses serialized value', async function() {
  16. const serialized = serialize(oadrResponse1);
  17. const parsedResponse = await parse(serialized);
  18. expect(parsedResponse).to.eql(oadrResponse1);
  19. });
  20. });
  21. describe('serialize', function() {
  22. let serializedResponse;
  23. before(async () => {
  24. serializedResponse = await serialize(oadrResponse1);
  25. });
  26. it ('successfully serializes valid message', function() {
  27. expect(serializedResponse).to.eql('<oadr2b:oadrPayload xmlns:oadr2b="http://openadr.org/oadr-2.0b/2012/07"><oadr2b:oadrSignedObject><oadr2b:oadrResponse xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" ei:schemaVersion="2.0b"><ei:eiResponse xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110"><ei:responseCode>200</ei:responseCode><ei:responseDescription>OK</ei:responseDescription><pyld:requestID xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads"></pyld:requestID></ei:eiResponse><ei:venID xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110">aa</ei:venID></oadr2b:oadrResponse></oadr2b:oadrSignedObject></oadr2b:oadrPayload>');
  28. });
  29. });
  30. });