@parse/node-apn
Version:
An interface to the Apple Push Notification service for Node.js
41 lines (33 loc) • 1.31 kB
JavaScript
const resolve = require('../../lib/credentials/resolve');
const fs = require('fs');
describe('resolve', function () {
let pfx, cert, key;
before(function () {
pfx = fs.readFileSync('test/support/initializeTest.pfx');
cert = fs.readFileSync('test/support/initializeTest.crt');
key = fs.readFileSync('test/support/initializeTest.key');
});
it('returns PEM string as supplied', function () {
expect(resolve(cert.toString())).to.be.a('string').and.to.equal(cert.toString());
});
it('returns Buffer as supplied', function () {
expect(resolve(pfx)).to.satisfy(Buffer.isBuffer).and.to.equal(pfx);
});
describe('with file path', function () {
it('returns a Buffer for valid path', function () {
return expect(resolve('test/support/initializeTest.key')).to.satisfy(Buffer.isBuffer);
});
it('returns contents for value path', function () {
return expect(resolve('test/support/initializeTest.key').toString()).to.equal(key.toString());
});
it('throws for invalid path', function () {
return expect(() => {
resolve('test/support/fail/initializeTest.key');
}).to.throw;
});
});
it('returns null/undefined as supplied', function () {
expect(resolve(null)).to.be.null;
expect(resolve()).to.be.undefined;
});
});