Call the AsJson forms of import and exportRoomKeys (#12233)

This commit is contained in:
Andy Balaam 2024-02-14 10:33:39 +00:00 committed by GitHub
parent 44e18b188c
commit 35ad92bf54
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 9 additions and 9 deletions

View file

@ -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], {

View file

@ -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.

View file

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

View file

@ -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;
};
@ -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());
});
});