Skip to content

Commit 211963d

Browse files
committed
chore: update after code review
1 parent 5c4c556 commit 211963d

File tree

2 files changed

+20
-36
lines changed

2 files changed

+20
-36
lines changed

src/shared/identityUtils.ts

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,23 @@
88
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
99
/* eslint-disable @typescript-eslint/no-unsafe-return */
1010

11-
import fs from 'node:fs';
1211
import { randomBytes } from 'node:crypto';
1312
import { DevServerUtils } from './devServerUtils.js';
1413

1514
class LwrConfigFile {
1615
public identityToken?: string;
1716
}
1817

19-
const BYTES_TO_GENERATE = 32;
20-
18+
// **********************************************************************************************
19+
// * TODO: When we finalize the implementation for the preview commands and things settle down, *
20+
// * consider moving this class into CryptoUtils of lwc-dev-mobile-core instead. *
21+
// **********************************************************************************************
2122
export class IdentityUtils {
22-
public static async createIdentityToken(): Promise<void> {
23-
const lwrConfigFile = DevServerUtils.getServerConfigFileLocation();
24-
if (fs.existsSync(lwrConfigFile)) {
25-
const config = DevServerUtils.fetchServerConfigFileContent() as LwrConfigFile;
26-
if (config?.identityToken == null) {
27-
config.identityToken = randomBytes(BYTES_TO_GENERATE).toString();
28-
try {
29-
await DevServerUtils.writeServerConfigFileContent(config);
30-
} catch (err) {
31-
const error = err as Error;
32-
throw new Error(`Error thrown while trying to write identity token to lwr.config.js: ${error.message}`);
33-
}
34-
}
23+
public static async updateServerConfigFileWithIdentityToken(byteSize = 32): Promise<void> {
24+
const config = await DevServerUtils.fetchServerConfigFileContent() as LwrConfigFile;
25+
if (config && !config.identityToken) {
26+
config.identityToken = randomBytes(byteSize).toString();
27+
await DevServerUtils.writeServerConfigFileContent(config);
3528
}
3629
}
3730
}

test/shared/identityUtils.test.ts

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
66
*/
77

8-
import fs from 'node:fs';
98
import { expect } from 'chai';
109
import { TestContext } from '@salesforce/core/testSetup';
1110
import { DevServerUtils } from '../../src/shared/devServerUtils.js';
@@ -18,56 +17,48 @@ describe('identityUtils', () => {
1817
$$.restore();
1918
});
2019

21-
it('createIdentityToken resolves if lwr.config.json is not found', async () => {
20+
it('updateServerConfigFileWithIdentityToken resolves if lwr.config.json is not found', async () => {
2221
$$.SANDBOX.stub(DevServerUtils, 'getServerConfigFileLocation').returns('lwr.config.json');
23-
$$.SANDBOX.stub(fs, 'existsSync').returns(false);
2422

25-
const resolved = await IdentityUtils.createIdentityToken();
23+
const resolved = await IdentityUtils.updateServerConfigFileWithIdentityToken();
2624
expect(resolved).to.equal(undefined);
2725
});
2826

29-
it('createIdentityToken resolves if lwr.config.json has identity token', async () => {
27+
it('updateServerConfigFileWithIdentityToken resolves if lwr.config.json has identity token', async () => {
3028
$$.SANDBOX.stub(DevServerUtils, 'getServerConfigFileLocation').returns('lwr.config.json');
31-
$$.SANDBOX.stub(fs, 'existsSync').returns(true);
3229
$$.SANDBOX.stub(DevServerUtils, 'fetchServerConfigFileContent').returns({ identityToken: 'foo' });
3330

34-
const resolved = await IdentityUtils.createIdentityToken();
31+
const resolved = await IdentityUtils.updateServerConfigFileWithIdentityToken();
3532
expect(resolved).to.equal(undefined);
3633
});
3734

38-
it('createIdentityToken resolves if lwr.config.json has identity token', async () => {
35+
it('updateServerConfigFileWithIdentityToken resolves if lwr.config.json has identity token', async () => {
3936
$$.SANDBOX.stub(DevServerUtils, 'getServerConfigFileLocation').returns('lwr.config.json');
40-
$$.SANDBOX.stub(fs, 'existsSync').returns(true);
4137
$$.SANDBOX.stub(DevServerUtils, 'fetchServerConfigFileContent').returns({ identityToken: 'foo' });
4238

43-
const resolved = await IdentityUtils.createIdentityToken();
39+
const resolved = await IdentityUtils.updateServerConfigFileWithIdentityToken();
4440
expect(resolved).to.equal(undefined);
4541
});
4642

47-
it('createIdentityToken resolves if lwr.config.json has no idenity token and creates one', async () => {
43+
it('updateServerConfigFileWithIdentityToken resolves if lwr.config.json has no idenity token and creates one', async () => {
4844
$$.SANDBOX.stub(DevServerUtils, 'getServerConfigFileLocation').returns('lwr.config.json');
49-
$$.SANDBOX.stub(fs, 'existsSync').returns(true);
5045
$$.SANDBOX.stub(DevServerUtils, 'fetchServerConfigFileContent').returns({});
5146
$$.SANDBOX.stub(DevServerUtils, 'writeServerConfigFileContent').resolves();
5247

53-
const resolved = await IdentityUtils.createIdentityToken();
48+
const resolved = await IdentityUtils.updateServerConfigFileWithIdentityToken();
5449
expect(resolved).to.equal(undefined);
5550
});
5651

57-
it('createIdentityToken rejects if identity token can not be written to lwr.config.json', async () => {
52+
it('updateServerConfigFileWithIdentityToken rejects if identity token can not be written to lwr.config.json', async () => {
5853
const errorMessage = 'foo bar';
59-
$$.SANDBOX.stub(DevServerUtils, 'getServerConfigFileLocation').returns('lwr.config.json');
60-
$$.SANDBOX.stub(fs, 'existsSync').returns(true);
6154
$$.SANDBOX.stub(DevServerUtils, 'fetchServerConfigFileContent').returns({});
6255
$$.SANDBOX.stub(DevServerUtils, 'writeServerConfigFileContent').throws(new Error(errorMessage));
6356

6457
try {
65-
await IdentityUtils.createIdentityToken();
58+
await IdentityUtils.updateServerConfigFileWithIdentityToken();
6659
} catch (err) {
6760
const error = err as Error;
68-
expect(error.message).to.equal(
69-
`Error thrown while trying to write identity token to lwr.config.js: ${errorMessage}`
70-
);
61+
expect(error.message).to.equal(errorMessage);
7162
}
7263
});
7364
});

0 commit comments

Comments
 (0)