2023-11-16 04:16:15 +01:00
|
|
|
package lnd
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/lightningnetwork/lnd/chainreg"
|
|
|
|
"github.com/lightningnetwork/lnd/routing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
testPassword = "testpassword"
|
|
|
|
redactedPassword = "[redacted]"
|
|
|
|
)
|
|
|
|
|
|
|
|
// TestConfigToFlatMap tests that the configToFlatMap function works as
|
|
|
|
// expected on the default configuration.
|
|
|
|
func TestConfigToFlatMap(t *testing.T) {
|
|
|
|
cfg := DefaultConfig()
|
|
|
|
cfg.BitcoindMode.RPCPass = testPassword
|
|
|
|
cfg.BtcdMode.RPCPass = testPassword
|
|
|
|
cfg.Tor.Password = testPassword
|
|
|
|
cfg.DB.Etcd.Pass = testPassword
|
|
|
|
cfg.DB.Postgres.Dsn = testPassword
|
|
|
|
|
2024-01-31 07:58:10 +01:00
|
|
|
// Set a deprecated field.
|
|
|
|
cfg.Bitcoin.Active = true
|
|
|
|
|
|
|
|
result, deprecated, err := configToFlatMap(cfg)
|
2023-11-16 04:16:15 +01:00
|
|
|
require.NoError(t, err)
|
|
|
|
|
2024-01-31 07:58:10 +01:00
|
|
|
// Check that the deprecated option has been parsed out.
|
|
|
|
require.Contains(t, deprecated, "bitcoin.active")
|
|
|
|
|
2023-11-16 04:16:15 +01:00
|
|
|
// Pick a couple of random values to check.
|
|
|
|
require.Equal(t, DefaultLndDir, result["lnddir"])
|
|
|
|
require.Equal(
|
|
|
|
t, fmt.Sprintf("%v", chainreg.DefaultBitcoinTimeLockDelta),
|
|
|
|
result["bitcoin.timelockdelta"],
|
|
|
|
)
|
|
|
|
require.Equal(
|
|
|
|
t, fmt.Sprintf("%v", routing.DefaultAprioriWeight),
|
|
|
|
result["routerrpc.apriori.weight"],
|
|
|
|
)
|
|
|
|
require.Contains(t, result, "routerrpc.routermacaroonpath")
|
|
|
|
|
|
|
|
// Check that sensitive values are not included.
|
|
|
|
require.Equal(t, redactedPassword, result["bitcoind.rpcpass"])
|
|
|
|
require.Equal(t, redactedPassword, result["btcd.rpcpass"])
|
|
|
|
require.Equal(t, redactedPassword, result["tor.password"])
|
|
|
|
require.Equal(t, redactedPassword, result["db.etcd.pass"])
|
|
|
|
require.Equal(t, redactedPassword, result["db.postgres.dsn"])
|
|
|
|
}
|