Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Call the AsJson forms of import and exportRoomKeys #12233

Merged
merged 1 commit into from
Feb 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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());
});
});
Loading