ven-registration.spec.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. 'use strict';
  2. const { readFileSync } = require('fs');
  3. const path = require('path');
  4. const { expect } = require('chai');
  5. const { Ven } = require('../../client/ven');
  6. const app = require('../../server');
  7. const { sequelize } = require('../../db');
  8. const { port } = require('../../config');
  9. describe('VEN registration', function() {
  10. describe('successful self-registration', async function() {
  11. let ven;
  12. before(async () => {
  13. await sequelize.sync();
  14. await app.start();
  15. const clientCrtPem = readFileSync(path.join(__dirname, 'integration-client.crt'), 'utf-8');
  16. ven = new Ven(`http://127.0.0.1:${port}`, clientCrtPem, 'aabbccddeeff', '17:32:59:FD:0E:B5:99:31:27:9C', 'ven.js1');
  17. });
  18. it('should successfully return a vtnId from queryRegistration', async () => {
  19. const queryResponse = await ven.queryRegistration();
  20. expect(queryResponse.vtnId).to.be.a('string');
  21. });
  22. it('should successfully register and receive a vtnId and registrationId', async () => {
  23. const registrationResponse = await ven.register();
  24. expect(registrationResponse.vtnId).to.be.a('string');
  25. expect(registrationResponse.registrationId).to.be.a('string');
  26. });
  27. it('should successfully return a registrationId and venId from queryRegistration', async () => {
  28. const queryResponse = await ven.queryRegistration();
  29. expect(queryResponse.vtnId).to.be.a('string');
  30. expect(queryResponse.registrationId).to.be.a('string');
  31. expect(queryResponse.venId).to.be.a('string');
  32. });
  33. it('should successfully cancel that registration', async () => {
  34. const cancelResponse = await ven.cancelRegistration();
  35. expect(cancelResponse.registrationId).to.be.a('string');
  36. expect(cancelResponse.venId).to.be.a('string');
  37. });
  38. after(async () => {
  39. await app.stop();
  40. });
  41. });
  42. });