github.com/status-im/status-go@v1.1.0/protocol/node_config_persistence_test.go (about) 1 package protocol 2 3 import ( 4 "database/sql" 5 "testing" 6 7 "github.com/status-im/status-go/params" 8 9 "github.com/status-im/status-go/nodecfg" 10 11 "github.com/stretchr/testify/suite" 12 ) 13 14 func TestNodeConfigPersistence(t *testing.T) { 15 suite.Run(t, new(NodeConfigPersistenceTestSuite)) 16 } 17 18 type NodeConfigPersistenceTestSuite struct { 19 suite.Suite 20 db *sql.DB 21 config *params.NodeConfig 22 } 23 24 const ( 25 testWakuNodeEnrtree = "enrtree://AL65EKLJAUXKKPG43HVTML5EFFWEZ7L4LOKTLZCLJASG4DSESQZEC@prod.status.nodes.status.im" 26 testWakuNodeMultiaddr = "/ip4/127.0.0.1/tcp/34012" 27 ) 28 29 func (s *NodeConfigPersistenceTestSuite) SetupTest() { 30 db, err := openTestDB() 31 s.Require().NoError(err) 32 s.db = db 33 34 s.config, err = nodecfg.GetNodeConfigFromDB(s.db) 35 s.Require().NoError(err) 36 37 // write value to the db, otherwise log_config table won't be created 38 err = nodecfg.SaveNodeConfig(s.db, s.config) 39 s.Require().NoError(err) 40 } 41 42 func (s *NodeConfigPersistenceTestSuite) Test_SaveNewWakuNode() { 43 // GIVEN 44 wakuNodesBeforeChanges := s.config.ClusterConfig.WakuNodes 45 46 // WHEN 47 err := nodecfg.SaveNewWakuNode(s.db, testWakuNodeEnrtree) 48 s.Require().NoError(err) 49 err = nodecfg.SaveNewWakuNode(s.db, testWakuNodeMultiaddr) 50 s.Require().NoError(err) 51 52 // THEN 53 dbNodeConfig, err := nodecfg.GetNodeConfigFromDB(s.db) 54 s.Require().NoError(err) 55 s.Require().Len(dbNodeConfig.ClusterConfig.WakuNodes, len(wakuNodesBeforeChanges)+2) 56 s.Require().Contains(dbNodeConfig.ClusterConfig.WakuNodes, testWakuNodeEnrtree) 57 s.Require().Contains(dbNodeConfig.ClusterConfig.WakuNodes, testWakuNodeMultiaddr) 58 } 59 60 func (s *NodeConfigPersistenceTestSuite) Test_SaveMaxLogBackups() { 61 // GIVEN 62 maxLogBackupsBeforeChanges := s.config.LogMaxBackups 63 64 // WHEN 65 err := nodecfg.SetMaxLogBackups(s.db, uint(maxLogBackupsBeforeChanges+10)) 66 s.Require().NoError(err) 67 68 // THEN 69 dbNodeConfig, err := nodecfg.GetNodeConfigFromDB(s.db) 70 s.Require().NoError(err) 71 s.Require().Equal(maxLogBackupsBeforeChanges+10, dbNodeConfig.LogMaxBackups) 72 } 73 74 func (s *NodeConfigPersistenceTestSuite) Test_SetLogLevelError() { 75 // WHEN 76 err := nodecfg.SetLogLevel(s.db, "ERROR") 77 s.Require().NoError(err) 78 79 // THEN 80 dbNodeConfig, err := nodecfg.GetNodeConfigFromDB(s.db) 81 s.Require().NoError(err) 82 s.Require().Equal("ERROR", dbNodeConfig.LogLevel) 83 } 84 85 func (s *NodeConfigPersistenceTestSuite) Test_SetLogLevelDebug() { 86 // WHEN 87 err := nodecfg.SetLogLevel(s.db, "DEBUG") 88 s.Require().NoError(err) 89 90 // THEN 91 dbNodeConfig, err := nodecfg.GetNodeConfigFromDB(s.db) 92 s.Require().NoError(err) 93 s.Require().Equal("DEBUG", dbNodeConfig.LogLevel) 94 }