Skip to content

Commit

Permalink
Call the AsJson forms of import and exportRoomKeys (#12233)
Browse files Browse the repository at this point in the history
  • Loading branch information
andybalaam committed Feb 14, 2024
1 parent 44e18b1 commit 35ad92b
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,10 @@ export default class ExportE2eKeysDialog extends React.Component<IProps, IState>
// asynchronous ones.
Promise.resolve()
.then(() => {
return this.props.matrixClient.getCrypto()!.exportRoomKeys();
return this.props.matrixClient.getCrypto()!.exportRoomKeysAsJson();
})
.then((k) => {
return MegolmExportEncryption.encryptMegolmKeyFile(JSON.stringify(k), passphrase);
return MegolmExportEncryption.encryptMegolmKeyFile(k, passphrase);
})
.then((f) => {
const blob = new Blob([f], {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export default class ImportE2eKeysDialog extends React.Component<IProps, IState>
return MegolmExportEncryption.decryptMegolmKeyFile(arrayBuffer, passphrase);
})
.then((keys) => {
return this.props.matrixClient.getCrypto()!.importRoomKeys(JSON.parse(keys));
return this.props.matrixClient.getCrypto()!.importRoomKeysAsJson(keys);
})
.then(() => {
// TODO: it would probably be nice to give some feedback about what we've imported here.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,10 @@ describe("ExportE2eKeysDialog", () => {
const cli = createTestClient();
const keys: IMegolmSessionData[] = [];
const passphrase = "ThisIsAMoreSecurePW123$$";
const exportRoomKeys = jest.fn().mockResolvedValue(keys);
const exportRoomKeysAsJson = jest.fn().mockResolvedValue(JSON.stringify(keys));
cli.getCrypto = () => {
return {
exportRoomKeys,
exportRoomKeysAsJson,
} as unknown as CryptoApi;
};

Expand All @@ -85,7 +85,7 @@ describe("ExportE2eKeysDialog", () => {
fireEvent.click(container.querySelector("[type=submit]")!);

// Then it exports keys and encrypts them
await waitFor(() => expect(exportRoomKeys).toHaveBeenCalled());
await waitFor(() => expect(exportRoomKeysAsJson).toHaveBeenCalled());
await waitFor(() =>
expect(MegolmExportEncryption.encryptMegolmKeyFile).toHaveBeenCalledWith(JSON.stringify(keys), passphrase),
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ describe("ImportE2eKeysDialog", () => {
const cli = createTestClient();
const onFinished = jest.fn();
const file = new File(["test"], "file.txt", { type: "text/plain" });
const importRoomKeys = jest.fn();
const importRoomKeysAsJson = jest.fn();
cli.getCrypto = () => {
return {
importRoomKeys,
importRoomKeysAsJson,
} as unknown as CryptoApi;
};

Expand All @@ -90,6 +90,6 @@ describe("ImportE2eKeysDialog", () => {
await userEvent.paste("passphrase");
fireEvent.click(container.querySelector("[type=submit]")!);

await waitFor(() => expect(importRoomKeys).toHaveBeenCalled());
await waitFor(() => expect(importRoomKeysAsJson).toHaveBeenCalled());
});
});

0 comments on commit 35ad92b

Please sign in to comment.