Merge pull request #108 from Permissionless-Software-Foundation/ct-unstable

feat(ipfs): Allowing disabling IPFS features with config flag
This commit is contained in:
Chris Troutner
2023-04-10 09:22:11 -07:00
committed by GitHub
4 changed files with 14 additions and 14 deletions
+1
View File
@@ -54,6 +54,7 @@ export default {
: 'demo',
// IPFS settings.
useIpfs: process.env.DISABLE_IPFS ? false : true, // Disable IPFS flag
isCircuitRelay: process.env.ENABLE_CIRCUIT_RELAY ? true : false,
// SSL domain used for websocket connection via browsers.
crDomain: process.env.CR_DOMAIN ? process.env.CR_DOMAIN : '',
+3 -1
View File
@@ -50,7 +50,9 @@ class Adapters {
// Start the IPFS node.
// Do not start these adapters if this is an e2e test.
if (this.config.env !== 'test') {
await this.ipfs.start()
if (this.config.useIpfs) {
await this.ipfs.start()
}
} else {
// These lines are here to ensure code coverage hits 100%.
console.log('Not starting IPFS node since this is an e2e test.')
+8 -13
View File
@@ -6,28 +6,21 @@
// Public npm libraries.
// Load the Clean Architecture Adapters library
// Local libraries
import Adapters from '../adapters/index.js'
// Load the JSON RPC Controller.
import JSONRPC from './json-rpc/index.js'
// Load the Clean Architecture Use Case libraries.
import UseCases from '../use-cases/index.js'
// const useCases = new UseCases({ adapters })
// Load the REST API Controllers.
import RESTControllers from './rest-api/index.js'
// Load the time controller library
import TimerControllers from './timer-controllers.js'
import config from '../../config/index.js'
class Controllers {
constructor (localConfig = {}) {
// Encapsulate dependencies
this.adapters = new Adapters()
this.useCases = new UseCases({ adapters: this.adapters })
this.timerControllers = new TimerControllers({ adapters: this.adapters, useCases: this.useCases })
this.config = config
}
// Spin up any adapter libraries that have async startup needs.
@@ -57,8 +50,10 @@ class Controllers {
// Wait for any startup processes to complete for the Adapters libraries.
// await this.adapters.start()
// Attach JSON RPC controllers
this.attachRPCControllers()
if (this.config.useIpfs) {
// Attach JSON RPC controllers
this.attachRPCControllers()
}
// Attach and start the timer controllers
this.timerControllers.startTimers()
@@ -27,6 +27,8 @@ describe('#adapters', () => {
it('should start the async adapters', async () => {
// Mock dependencies
uut.config.getJwtAtStartup = true
uut.config.useIpfs = true
uut.config.env = 'not-a-test'
sandbox.stub(uut.fullStackJwt, 'getJWT').resolves()
sandbox.stub(uut.fullStackJwt, 'instanceBchjs').resolves()
sandbox.stub(uut.ipfs, 'start').resolves()