@@ -2,6 +2,10 @@ package watcher_test
22
33import (
44 "context"
5+ "sync"
6+ "testing"
7+ "time"
8+
59 "github.com/rsksmart/liquidity-provider-server/internal/adapters/entrypoints/watcher"
610 "github.com/rsksmart/liquidity-provider-server/internal/entities"
711 "github.com/rsksmart/liquidity-provider-server/internal/entities/blockchain"
@@ -12,22 +16,20 @@ import (
1216 "github.com/stretchr/testify/assert"
1317 "github.com/stretchr/testify/mock"
1418 "github.com/stretchr/testify/require"
15- "sync"
16- "testing"
17- "time"
1819)
1920
2021func TestLiquidityCheckWatcher_Shutdown (t * testing.T ) {
2122 createWatcherShutdownTest (t , func (ticker utils.Ticker ) watcher.Watcher {
22- return watcher .NewLiquidityCheckWatcher (nil , ticker , time .Duration (1 ))
23+ return watcher .NewLiquidityCheckWatcher (nil , nil , ticker , time .Duration (1 ))
2324 })
2425}
2526
2627func TestNewLiquidityCheckWatcher (t * testing.T ) {
2728 ticker := & mocks.TickerMock {}
2829 providerMock := & mocks.ProviderMock {}
29- useCase := liquidity_provider .NewCheckLiquidityUseCase (providerMock , providerMock , blockchain.RskContracts {}, & mocks.AlertSenderMock {}, test .AnyString )
30- test .AssertNonZeroValues (t , watcher .NewLiquidityCheckWatcher (useCase , ticker , time .Duration (1 )))
30+ checkLiquidityUseCase := liquidity_provider .NewCheckLiquidityUseCase (providerMock , providerMock , blockchain.RskContracts {}, & mocks.AlertSenderMock {}, test .AnyString )
31+ lowLiquidityUseCase := liquidity_provider .NewLowLiquidityAlertUseCase (providerMock , providerMock , & mocks.AlertSenderMock {}, test .AnyString , 3 , 1 )
32+ test .AssertNonZeroValues (t , watcher .NewLiquidityCheckWatcher (checkLiquidityUseCase , lowLiquidityUseCase , ticker , time .Duration (1 )))
3133}
3234
3335func TestLiquidityCheckWatcher_Start (t * testing.T ) {
@@ -38,10 +40,15 @@ func TestLiquidityCheckWatcher_Start(t *testing.T) {
3840 providerMock := & mocks.ProviderMock {}
3941 providerMock .On ("HasPeginLiquidity" , mock .Anything , mock .Anything ).Return (nil )
4042 providerMock .On ("HasPegoutLiquidity" , mock .Anything , mock .Anything ).Return (nil )
43+ providerMock .On ("AvailablePeginLiquidity" , mock .Anything ).Return (entities .NewWei (0 ), nil )
44+ providerMock .On ("AvailablePegoutLiquidity" , mock .Anything ).Return (entities .NewWei (0 ), nil )
4145 bridgeMock := & mocks.BridgeMock {}
4246 bridgeMock .On ("GetMinimumLockTxValue" ).Return (entities .NewWei (5 ), nil )
43- useCase := liquidity_provider .NewCheckLiquidityUseCase (providerMock , providerMock , blockchain.RskContracts {Bridge : bridgeMock }, & mocks.AlertSenderMock {}, test .AnyString )
44- w := watcher .NewLiquidityCheckWatcher (useCase , ticker , time .Duration (1 ))
47+ alertSenderMock := & mocks.AlertSenderMock {}
48+ alertSenderMock .On ("SendAlert" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
49+ checkLiquidityUseCase := liquidity_provider .NewCheckLiquidityUseCase (providerMock , providerMock , blockchain.RskContracts {Bridge : bridgeMock }, alertSenderMock , test .AnyString )
50+ lowLiquidityUseCase := liquidity_provider .NewLowLiquidityAlertUseCase (providerMock , providerMock , alertSenderMock , test .AnyString , 3 , 1 )
51+ w := watcher .NewLiquidityCheckWatcher (checkLiquidityUseCase , lowLiquidityUseCase , ticker , time .Duration (1 ))
4552 wg := sync.WaitGroup {}
4653 wg .Add (2 )
4754 closeChannel := make (chan bool )
@@ -68,10 +75,15 @@ func TestLiquidityCheckWatcher_Start_ErrorHandling(t *testing.T) {
6875 ticker .EXPECT ().C ().Return (tickerChannel )
6976 ticker .EXPECT ().Stop ().Return ()
7077 providerMock := & mocks.ProviderMock {}
78+ providerMock .On ("AvailablePeginLiquidity" , mock .Anything ).Return (entities .NewWei (0 ), nil )
79+ providerMock .On ("AvailablePegoutLiquidity" , mock .Anything ).Return (entities .NewWei (0 ), nil )
7180 bridgeMock := & mocks.BridgeMock {}
7281 bridgeMock .On ("GetMinimumLockTxValue" ).Return (nil , assert .AnError )
73- useCase := liquidity_provider .NewCheckLiquidityUseCase (providerMock , providerMock , blockchain.RskContracts {Bridge : bridgeMock }, & mocks.AlertSenderMock {}, test .AnyString )
74- w := watcher .NewLiquidityCheckWatcher (useCase , ticker , time .Duration (1 ))
82+ alertSenderMock := & mocks.AlertSenderMock {}
83+ alertSenderMock .On ("SendAlert" , mock .Anything , mock .Anything , mock .Anything , mock .Anything ).Return (nil )
84+ checkLiquidityUseCase := liquidity_provider .NewCheckLiquidityUseCase (providerMock , providerMock , blockchain.RskContracts {Bridge : bridgeMock }, alertSenderMock , test .AnyString )
85+ lowLiquidityUseCase := liquidity_provider .NewLowLiquidityAlertUseCase (providerMock , providerMock , alertSenderMock , test .AnyString , 3 , 1 )
86+ w := watcher .NewLiquidityCheckWatcher (checkLiquidityUseCase , lowLiquidityUseCase , ticker , time .Duration (1 ))
7587 wg := sync.WaitGroup {}
7688 wg .Add (2 )
7789 defer test .AssertLogContains (t , assert .AnError .Error ())
@@ -90,6 +102,6 @@ func TestLiquidityCheckWatcher_Start_ErrorHandling(t *testing.T) {
90102}
91103
92104func TestLiquidityCheckWatcher_Prepare (t * testing.T ) {
93- w := watcher .NewLiquidityCheckWatcher (nil , & mocks.TickerMock {}, time .Duration (1 ))
105+ w := watcher .NewLiquidityCheckWatcher (nil , nil , & mocks.TickerMock {}, time .Duration (1 ))
94106 require .NoError (t , w .Prepare (context .Background ()))
95107}
0 commit comments