request-event.spec.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. 'use strict';
  2. const { expect } = require('chai');
  3. const { parse, serialize } = require('../../../../xml/event/request-event');
  4. const { requestEvent1Xml } = require('./xml-requests');
  5. const { requestEvent1 } = require('./js-requests');
  6. describe('Request event', function() {
  7. describe('parse', function() {
  8. let parsedResponse;
  9. before(async () => {
  10. parsedResponse = await parse(requestEvent1Xml);
  11. });
  12. it ('successfully parses valid message', function() {
  13. expect(parsedResponse.requestId).to.eql('4323');
  14. expect(parsedResponse.venId).to.eql('3f59d85fbdf3997dbeb1');
  15. expect(parsedResponse.replyLimit).to.eql('2');
  16. });
  17. it ('successfully parses serialized value', async function() {
  18. const serialized = serialize(requestEvent1);
  19. const parsedResponse = await parse(serialized);
  20. expect(parsedResponse).to.eql(requestEvent1);
  21. });
  22. });
  23. describe('serialize', function() {
  24. let serializedResponse;
  25. before(async () => {
  26. serializedResponse = await serialize(requestEvent1);
  27. });
  28. it ('successfully serializes valid message', function() {
  29. expect(serializedResponse).to.eql('<oadr2b:oadrPayload xmlns:oadr2b="http://openadr.org/oadr-2.0b/2012/07"><oadr2b:oadrSignedObject><oadr2b:oadrRequestEvent xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110" ei:schemaVersion="2.0b"><pyld:eiRequestEvent xmlns:pyld="http://docs.oasis-open.org/ns/energyinterop/201110/payloads"><pyld:requestID>2233</pyld:requestID><ei:venID xmlns:ei="http://docs.oasis-open.org/ns/energyinterop/201110">D8:1D:4B:20:5A:65:4C:50:32:FA</ei:venID><pyld:replyLimit>2</pyld:replyLimit></pyld:eiRequestEvent></oadr2b:oadrRequestEvent></oadr2b:oadrSignedObject></oadr2b:oadrPayload>');
  30. });
  31. });
  32. });