diff --git a/src/background/autoUpdaterManager.ts b/src/background/autoUpdaterManager.ts index 02afe8c85..207c58111 100644 --- a/src/background/autoUpdaterManager.ts +++ b/src/background/autoUpdaterManager.ts @@ -2,7 +2,7 @@ import { autoUpdater } from 'electron-updater' import { BrowserWindow, dialog } from 'electron' import { WalletManager } from './walletManager' import { AppManager } from './appManager' -import overwriteWalletConfigFile from './utils/overwriteWalletConfigFile' +import overwriteWitnetNodeConfiguration from './utils/overwriteWitnetNodeConfiguration' import { SHEIKAH_PATH, WITNET_CONFIG_FILE_NAME, @@ -40,7 +40,7 @@ export class AutoUpdaterManager { cancelId: 1, // bound to buttons array } this.wallet.setIsUpdating(true) - overwriteWalletConfigFile({ + overwriteWitnetNodeConfiguration({ sheikahPath: SHEIKAH_PATH, witnetConfigFileName: WITNET_CONFIG_FILE_NAME, publicNodeUrls: URLS_PUBLIC_WITNET_NODES, diff --git a/src/background/utils/overwriteWalletConfigFile.ts b/src/background/utils/overwriteWitnetNodeConfiguration.ts similarity index 72% rename from src/background/utils/overwriteWalletConfigFile.ts rename to src/background/utils/overwriteWitnetNodeConfiguration.ts index e5e2093b0..177d4dfc4 100644 --- a/src/background/utils/overwriteWalletConfigFile.ts +++ b/src/background/utils/overwriteWitnetNodeConfiguration.ts @@ -1,8 +1,8 @@ import path from 'path' import fs from 'fs-extra' -// Overwrite wallet config file only when new version is downloaded -export function overwriteWalletConfigFile({ +// Replace witnet nodes urls in witnet configuration file +export function overwriteWitnetNodeConfiguration({ sheikahPath, witnetConfigFileName, publicNodeUrls, @@ -22,11 +22,11 @@ export function overwriteWalletConfigFile({ 'node_url = "127.0.0.1:21338"', `node_url = ${JSON.stringify(publicNodeUrls)}\n`.replace("'", ''), ) - .replace('52.166.178.145:21338', `20.126.70.77:21338`.replace("'", '')), + .replace('52.166.178.145:21338', `20.126.70.77:21338`), ) } catch (error) { console.log('Error overwriting configuration file') } } -export default overwriteWalletConfigFile +export default overwriteWitnetNodeConfiguration diff --git a/src/background/walletManager.ts b/src/background/walletManager.ts index f76cc805b..9ea5a8813 100644 --- a/src/background/walletManager.ts +++ b/src/background/walletManager.ts @@ -24,7 +24,7 @@ import { } from './constants' import { AppManager } from './appManager' import getVersionFromName from './utils/getVersionFromName' -import overwriteWalletConfigFile from './utils/overwriteWalletConfigFile' +import overwriteWitnetNodeConfiguration from './utils/overwriteWitnetNodeConfiguration' import sleep from './utils/sleep' interface GithubReleaseAsset { @@ -251,7 +251,7 @@ async function decompressDarwinWallet(file: string) { process.chdir(currentCwd) await sleep(3000) - overwriteWalletConfigFile({ + overwriteWitnetNodeConfiguration({ sheikahPath: SHEIKAH_PATH, witnetConfigFileName: WITNET_CONFIG_FILE_NAME, publicNodeUrls: URLS_PUBLIC_WITNET_NODES, @@ -276,7 +276,7 @@ async function decompressWin32Wallet(file: string) { ) await sleep(3000) - overwriteWalletConfigFile({ + overwriteWitnetNodeConfiguration({ sheikahPath: SHEIKAH_PATH, witnetConfigFileName: WITNET_CONFIG_FILE_NAME, publicNodeUrls: URLS_PUBLIC_WITNET_NODES, @@ -298,7 +298,7 @@ async function decompressLinuxWallet(file: string) { ) await sleep(3000) - overwriteWalletConfigFile({ + overwriteWitnetNodeConfiguration({ sheikahPath: SHEIKAH_PATH, witnetConfigFileName: WITNET_CONFIG_FILE_NAME, publicNodeUrls: URLS_PUBLIC_WITNET_NODES, diff --git a/tests/unit/src/background/utils/overwriteWalletConfigFile.spec.ts b/tests/unit/src/background/utils/overwriteWitnetNodeConfiguration.spec.ts similarity index 58% rename from tests/unit/src/background/utils/overwriteWalletConfigFile.spec.ts rename to tests/unit/src/background/utils/overwriteWitnetNodeConfiguration.spec.ts index 527d79016..6986b5ded 100644 --- a/tests/unit/src/background/utils/overwriteWalletConfigFile.spec.ts +++ b/tests/unit/src/background/utils/overwriteWitnetNodeConfiguration.spec.ts @@ -1,6 +1,6 @@ import fs from 'fs-extra' -import { overwriteWalletConfigFile } from '../../../../../src/background/utils/overwriteWalletConfigFile' +import { overwriteWitnetNodeConfiguration } from '../../../../../src/background/utils/overwriteWitnetNodeConfiguration' afterEach(() => { jest.restoreAllMocks() @@ -13,7 +13,7 @@ describe('overwriteConfigFile', () => { .spyOn(fs, 'readFileSync') .mockImplementation(() => 'node_url = "127.0.0.1:21338"') - overwriteWalletConfigFile({ + overwriteWitnetNodeConfiguration({ sheikahPath: 'sheikah_path', publicNodeUrls: ['public_node_url1', 'public_node_url2'], witnetConfigFileName: 'witnet_config_file_name', @@ -28,11 +28,34 @@ describe('overwriteConfigFile', () => { ) }) + it('Should overwrite the outdated node urls', () => { + jest.spyOn(fs, 'writeFileSync').mockImplementation() + jest + .spyOn(fs, 'readFileSync') + .mockImplementation( + () => 'node_url = ["52.166.178.145:21338","public_node_url2"]', + ) + + overwriteWitnetNodeConfiguration({ + sheikahPath: 'sheikah_path', + publicNodeUrls: ['public_node_url1', 'public_node_url2'], + witnetConfigFileName: 'witnet_config_file_name', + }) + + expect(fs.readFileSync).toBeCalledWith( + 'sheikah_path/witnet_config_file_name', + ) + expect(fs.writeFileSync).toBeCalledWith( + 'sheikah_path/witnet_config_file_name', + 'node_url = ["20.126.70.77:21338","public_node_url2"]', + ) + }) + it("Should handle error if read file doesn't exists", () => { jest.spyOn(fs, 'writeFileSync').mockImplementation() jest.spyOn(fs, 'readFileSync').mockImplementation() - overwriteWalletConfigFile({ + overwriteWitnetNodeConfiguration({ sheikahPath: 'sheikah_path', publicNodeUrls: ['public_node_url1', 'public_node_url2'], witnetConfigFileName: 'witnet_config_file_name',