mirror of
https://github.com/marcogll/passkit-generator.git
synced 2026-03-15 15:25:20 +00:00
Fixed tests
This commit is contained in:
@@ -8,19 +8,72 @@ const {
|
|||||||
} = require("@jest/globals");
|
} = require("@jest/globals");
|
||||||
const fs = require("node:fs");
|
const fs = require("node:fs");
|
||||||
const path = require("node:path");
|
const path = require("node:path");
|
||||||
|
const forge = require("node-forge");
|
||||||
const { default: PKPass } = require("../lib/PKPass");
|
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
|
* SIGNER_CERT, SIGNER_KEY, WWDR and SIGNER_KEY_PASSPHRASE are also set
|
||||||
* as secrets in Github for run tests on Github Actions
|
* as secrets in Github for run tests on Github Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const SIGNER_CERT =
|
const SIGNER_CERT = process.env.SIGNER_CERT || signerCertBuffer;
|
||||||
process.env.SIGNER_CERT ||
|
const SIGNER_KEY = process.env.SIGNER_KEY || privateKeyBuffer;
|
||||||
fs.readFileSync(path.resolve(__dirname, "../certificates/signerCert.pem"));
|
|
||||||
const SIGNER_KEY =
|
|
||||||
process.env.SIGNER_KEY ||
|
|
||||||
fs.readFileSync(path.resolve(__dirname, "../certificates/signerKey.pem"));
|
|
||||||
const WWDR =
|
const WWDR =
|
||||||
process.env.WWDR ||
|
process.env.WWDR ||
|
||||||
fs.readFileSync(path.resolve(__dirname, "../certificates/WWDR.pem"));
|
fs.readFileSync(path.resolve(__dirname, "../certificates/WWDR.pem"));
|
||||||
@@ -1155,12 +1208,11 @@ describe("PKPass", () => {
|
|||||||
const changedPassJson = Buffer.from(
|
const changedPassJson = Buffer.from(
|
||||||
JSON.stringify(
|
JSON.stringify(
|
||||||
Object.assign({}, JSON.parse(passjson.toString("utf-8")), {
|
Object.assign({}, JSON.parse(passjson.toString("utf-8")), {
|
||||||
eventTicket: {
|
preferredStyleSchemes: [
|
||||||
preferredStyleSchemes: [
|
"posterEventTicket",
|
||||||
"posterEventTicket",
|
"eventTicket",
|
||||||
"eventTicket",
|
],
|
||||||
],
|
eventTicket: {},
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
"utf-8",
|
"utf-8",
|
||||||
@@ -1183,12 +1235,11 @@ describe("PKPass", () => {
|
|||||||
|
|
||||||
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
||||||
|
|
||||||
expect(
|
expect(passjsonGenerated.preferredStyleSchemes).not.toBeUndefined();
|
||||||
passjsonGenerated.eventTicket.preferredStyleSchemes,
|
expect(passjsonGenerated.preferredStyleSchemes).toEqual([
|
||||||
).not.toBeUndefined();
|
"posterEventTicket",
|
||||||
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
|
"eventTicket",
|
||||||
["posterEventTicket", "eventTicket"],
|
]);
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should contain preferredStyleSchemes if coming from the setter (legacy order)", () => {
|
it("should contain preferredStyleSchemes if coming from the setter (legacy order)", () => {
|
||||||
@@ -1203,12 +1254,11 @@ describe("PKPass", () => {
|
|||||||
|
|
||||||
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
||||||
|
|
||||||
expect(
|
expect(passjsonGenerated.preferredStyleSchemes).not.toBeUndefined();
|
||||||
passjsonGenerated.eventTicket.preferredStyleSchemes,
|
expect(passjsonGenerated.preferredStyleSchemes).toEqual([
|
||||||
).not.toBeUndefined();
|
"eventTicket",
|
||||||
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
|
"posterEventTicket",
|
||||||
["eventTicket", "posterEventTicket"],
|
]);
|
||||||
);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should contain preferredStyleSchemes if coming from the setter (new order)", () => {
|
it("should contain preferredStyleSchemes if coming from the setter (new order)", () => {
|
||||||
@@ -1223,12 +1273,11 @@ describe("PKPass", () => {
|
|||||||
|
|
||||||
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
const passjsonGenerated = getGeneratedPassJson(pkpass);
|
||||||
|
|
||||||
expect(
|
expect(passjsonGenerated.preferredStyleSchemes).not.toBeUndefined();
|
||||||
passjsonGenerated.eventTicket.preferredStyleSchemes,
|
expect(passjsonGenerated.preferredStyleSchemes).toEqual([
|
||||||
).not.toBeUndefined();
|
"posterEventTicket",
|
||||||
expect(passjsonGenerated.eventTicket.preferredStyleSchemes).toEqual(
|
"eventTicket",
|
||||||
["posterEventTicket", "eventTicket"],
|
]);
|
||||||
);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user