SettingsStore: Change feature_rust_crypto to default true (#12203)

* Set default crypto stack to rust

* Update test for default to rust crypto

* Fix labs settings tests

* Fix test not working with rust crypto
This commit is contained in:
Valere 2024-02-02 13:20:13 +01:00 committed by GitHub
parent f36b6035f4
commit cb7fd5118e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 225 additions and 68 deletions

View file

@ -57,6 +57,7 @@ import * as Lifecycle from "../../../src/Lifecycle";
import { SSO_HOMESERVER_URL_KEY, SSO_ID_SERVER_URL_KEY } from "../../../src/BasePlatform";
import SettingsStore from "../../../src/settings/SettingsStore";
import { SettingLevel } from "../../../src/settings/SettingLevel";
import { MatrixClientPeg as peg } from "../../../src/MatrixClientPeg";
jest.mock("matrix-js-sdk/src/oidc/authorize", () => ({
completeAuthorizationCodeGrant: jest.fn(),
@ -84,6 +85,7 @@ describe("<MatrixChat />", () => {
getClientWellKnown: jest.fn().mockReturnValue({}),
isVersionSupported: jest.fn().mockResolvedValue(false),
isCryptoEnabled: jest.fn().mockReturnValue(false),
initRustCrypto: jest.fn(),
getRoom: jest.fn(),
getMediaHandler: jest.fn().mockReturnValue({
setVideoInput: jest.fn(),
@ -835,10 +837,22 @@ describe("<MatrixChat />", () => {
});
it("should show the soft-logout page", async () => {
// XXX This test is strange, it was working with legacy crypto
// without mocking the following but the initCrypto call was failing
// but as the exception was swallowed, the test was passing (see in `initClientCrypto`).
// There are several uses of the peg in the app, so during all these tests you might end-up
// with a real client instead of the mocked one. Not sure how reliable all these tests are.
const originalReplace = peg.replaceUsingCreds;
peg.replaceUsingCreds = jest.fn().mockResolvedValue(mockClient);
// @ts-ignore - need to mock this for the test
peg.matrixClient = mockClient;
const result = getComponent();
await result.findByText("You're signed out");
expect(result.container).toMatchSnapshot();
peg.replaceUsingCreds = originalReplace;
});
});
@ -1336,7 +1350,6 @@ describe("<MatrixChat />", () => {
await populateStorageForSession();
const client = new MockClientWithEventEmitter({
initCrypto: jest.fn(),
...getMockClientMethods(),
}) as unknown as Mocked<MatrixClient>;
jest.spyOn(MatrixJs, "createClient").mockReturnValue(client);
@ -1344,7 +1357,7 @@ describe("<MatrixChat />", () => {
// intercept initCrypto and have it block until we complete the deferred
const initCryptoCompleteDefer = defer();
const initCryptoCalled = new Promise<void>((resolve) => {
client.initCrypto.mockImplementation(() => {
client.initRustCrypto.mockImplementation(() => {
resolve();
return initCryptoCompleteDefer.promise;
});