mirror of
https://github.com/marcogll/passkit-generator.git
synced 2026-03-15 16:25:21 +00:00
Fixed tests
This commit is contained in:
@@ -8,19 +8,72 @@ const {
|
||||
} = require("@jest/globals");
|
||||
const fs = require("node:fs");
|
||||
const path = require("node:path");
|
||||
const forge = require("node-forge");
|
||||
const { default: PKPass } = require("../lib/PKPass");
|
||||
|
||||
/**
|
||||
* @returns {[cert: Buffer, key: Buffer]}
|
||||
*/
|
||||
|
||||
function generateCertificateAndPrivateKey() {
|
||||
const keys = forge.pki.rsa.generateKeyPair(2048);
|
||||
const cert = forge.pki.createCertificate();
|
||||
|
||||
cert.publicKey = keys.publicKey;
|
||||
|
||||
cert.serialNumber = "01";
|
||||
cert.validity.notBefore = new Date();
|
||||
cert.validity.notAfter = new Date();
|
||||
cert.validity.notAfter.setFullYear(
|
||||
cert.validity.notBefore.getFullYear() + 1,
|
||||
);
|
||||
|
||||
const attrs = [
|
||||
{
|
||||
name: "commonName",
|
||||
value: "example.org",
|
||||
},
|
||||
{
|
||||
name: "countryName",
|
||||
value: "TS",
|
||||
},
|
||||
{
|
||||
shortName: "ST",
|
||||
value: "Test",
|
||||
},
|
||||
{
|
||||
name: "localityName",
|
||||
value: "Test",
|
||||
},
|
||||
{
|
||||
name: "organizationName",
|
||||
value: "Test",
|
||||
},
|
||||
{
|
||||
shortName: "OU",
|
||||
value: "Test",
|
||||
},
|
||||
];
|
||||
|
||||
cert.setIssuer(attrs);
|
||||
cert.setSubject(attrs);
|
||||
cert.sign(keys.privateKey);
|
||||
|
||||
return [
|
||||
Buffer.from(forge.pki.certificateToPem(cert)),
|
||||
Buffer.from(forge.pki.privateKeyToPem(keys.privateKey)),
|
||||
];
|
||||
}
|
||||
|
||||
const [signerCertBuffer, privateKeyBuffer] = generateCertificateAndPrivateKey();
|
||||
|
||||
/**
|
||||
* SIGNER_CERT, SIGNER_KEY, WWDR and SIGNER_KEY_PASSPHRASE are also set
|
||||
* as secrets in Github for run tests on Github Actions
|
||||
*/
|
||||
|
||||
const SIGNER_CERT =
|
||||
process.env.SIGNER_CERT ||
|
||||
fs.readFileSync(path.resolve(__dirname, "../certificates/signerCert.pem"));
|
||||
const SIGNER_KEY =
|
||||
process.env.SIGNER_KEY ||
|
||||
fs.readFileSync(path.resolve(__dirname, "../certificates/signerKey.pem"));
|
||||
const SIGNER_CERT = process.env.SIGNER_CERT || signerCertBuffer;
|
||||
const SIGNER_KEY = process.env.SIGNER_KEY || privateKeyBuffer;
|
||||
const WWDR =
|
||||
process.env.WWDR ||
|
||||
fs.readFileSync(path.resolve(__dirname, "../certificates/WWDR.pem"));
|
||||
@@ -1155,12 +1208,11 @@ describe("PKPass", () => {
|
||||
const changedPassJson = Buffer.from(
|
||||
JSON.stringify(
|
||||
Object.assign({}, JSON.parse(passjson.toString("utf-8")), {
|
||||
eventTicket: {
|
||||
preferredStyleSchemes: [
|
||||
"posterEventTicket",
|
||||
"eventTicket",
|
||||
],
|
||||
},
|
||||
preferredStyleSchemes: [
|
||||
"posterEventTicket",
|
||||
"eventTicket",
|
||||
],
|
||||
eventTicket: {},
|
||||
}),
|
||||
),
|
||||
"utf-8",
|
||||
@@ -1183,12 +1235,11 @@ describe("PKPass", () => {
|
||||
|
||||
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
||||
|
||||
expect(
|
||||
passjsonGenerated.eventTicket.preferredStyleSchemes,
|
||||
).not.toBeUndefined();
|
||||
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
|
||||
["posterEventTicket", "eventTicket"],
|
||||
);
|
||||
expect(passjsonGenerated.preferredStyleSchemes).not.toBeUndefined();
|
||||
expect(passjsonGenerated.preferredStyleSchemes).toEqual([
|
||||
"posterEventTicket",
|
||||
"eventTicket",
|
||||
]);
|
||||
});
|
||||
|
||||
it("should contain preferredStyleSchemes if coming from the setter (legacy order)", () => {
|
||||
@@ -1203,12 +1254,11 @@ describe("PKPass", () => {
|
||||
|
||||
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
||||
|
||||
expect(
|
||||
passjsonGenerated.eventTicket.preferredStyleSchemes,
|
||||
).not.toBeUndefined();
|
||||
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
|
||||
["eventTicket", "posterEventTicket"],
|
||||
);
|
||||
expect(passjsonGenerated.preferredStyleSchemes).not.toBeUndefined();
|
||||
expect(passjsonGenerated.preferredStyleSchemes).toEqual([
|
||||
"eventTicket",
|
||||
"posterEventTicket",
|
||||
]);
|
||||
});
|
||||
|
||||
it("should contain preferredStyleSchemes if coming from the setter (new order)", () => {
|
||||
@@ -1223,12 +1273,11 @@ describe("PKPass", () => {
|
||||
|
||||
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
||||
|
||||
expect(
|
||||
passjsonGenerated.eventTicket.preferredStyleSchemes,
|
||||
).not.toBeUndefined();
|
||||
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
|
||||
["posterEventTicket", "eventTicket"],
|
||||
);
|
||||
expect(passjsonGenerated.preferredStyleSchemes).not.toBeUndefined();
|
||||
expect(passjsonGenerated.preferredStyleSchemes).toEqual([
|
||||
"posterEventTicket",
|
||||
"eventTicket",
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user