@@ -29,6 +29,7 @@ import (
29
29
"time"
30
30
31
31
"github.com/golang/mock/gomock"
32
+ "github.com/stretchr/testify/assert"
32
33
"github.com/stretchr/testify/require"
33
34
34
35
"github.com/m3db/m3/src/cluster/kv/mem"
@@ -786,6 +787,30 @@ func TestTCPClientWriteTimeRangeFor(t *testing.T) {
786
787
}
787
788
}
788
789
790
+ func TestTCPClientActivePlacement (t * testing.T ) {
791
+ var (
792
+ c = mustNewTestTCPClient (t , testOptions ())
793
+ emptyPl = placement .NewPlacement ()
794
+ ctrl = gomock .NewController (t )
795
+ mockPl = placement .NewMockPlacement (ctrl )
796
+ stagedPlacement = placement .NewMockActiveStagedPlacement (ctrl )
797
+ watcher = placement .NewMockStagedPlacementWatcher (ctrl )
798
+ doneCalls int
799
+ )
800
+
801
+ c .placementWatcher = watcher
802
+ watcher .EXPECT ().ActiveStagedPlacement ().Return (stagedPlacement , func () { doneCalls ++ }, nil )
803
+ stagedPlacement .EXPECT ().Version ().Return (42 )
804
+ stagedPlacement .EXPECT ().ActivePlacement ().Return (mockPl , func () { doneCalls ++ }, nil )
805
+ mockPl .EXPECT ().Clone ().Return (emptyPl )
806
+
807
+ pl , v , err := c .ActivePlacement ()
808
+ assert .NoError (t , err )
809
+ assert .Equal (t , 42 , v )
810
+ assert .Equal (t , 2 , doneCalls )
811
+ assert .Equal (t , emptyPl , pl )
812
+ }
813
+
789
814
func TestTCPClientInitAndClose (t * testing.T ) {
790
815
c := mustNewTestTCPClient (t , testOptions ())
791
816
require .NoError (t , c .Init ())
0 commit comments