Fixed tests

This commit is contained in:
Alexander Cerutti
2024-10-11 23:51:35 +02:00
parent 576ba15a39
commit d85fa28339

View File

@@ -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"], ]);
);
}); });
}); });