43
43
suite.Suite
44
44
* require.Assertions
45
45
46
+ ShardID int32
47
+
46
48
ShardManager p.ShardManager
47
49
Logger log.Logger
48
50
@@ -78,19 +80,20 @@ func (s *ShardSuite) TearDownSuite() {
78
80
func (s * ShardSuite ) SetupTest () {
79
81
s .Assertions = require .New (s .T ())
80
82
s .Ctx , s .Cancel = context .WithTimeout (context .Background (), time .Second * 30 )
83
+
84
+ s .ShardID ++
81
85
}
82
86
83
87
func (s * ShardSuite ) TearDownTest () {
84
88
s .Cancel ()
85
89
}
86
90
87
91
func (s * ShardSuite ) TestGetOrCreateShard_Create () {
88
- shardID := int32 (1 )
89
92
rangeID := rand .Int63 ()
90
- shardInfo := RandomShardInfo (shardID , rangeID )
93
+ shardInfo := RandomShardInfo (s . ShardID , rangeID )
91
94
92
95
resp , err := s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
93
- ShardID : shardID ,
96
+ ShardID : s . ShardID ,
94
97
InitialShardInfo : shardInfo ,
95
98
})
96
99
s .NoError (err )
@@ -99,74 +102,71 @@ func (s *ShardSuite) TestGetOrCreateShard_Create() {
99
102
}
100
103
101
104
func (s * ShardSuite ) TestGetOrCreateShard_Get () {
102
- shardID := int32 (2 )
103
105
rangeID := rand .Int63 ()
104
- shardInfo := RandomShardInfo (shardID , rangeID )
106
+ shardInfo := RandomShardInfo (s . ShardID , rangeID )
105
107
106
108
resp , err := s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
107
- ShardID : shardID ,
109
+ ShardID : s . ShardID ,
108
110
InitialShardInfo : shardInfo ,
109
111
})
110
112
s .NoError (err )
111
113
s .Equal (shardInfo , resp .ShardInfo )
112
114
113
115
resp , err = s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
114
- ShardID : shardID ,
115
- InitialShardInfo : RandomShardInfo (shardID , rand .Int63 ()),
116
+ ShardID : s . ShardID ,
117
+ InitialShardInfo : RandomShardInfo (s . ShardID , rand .Int63 ()),
116
118
})
117
119
s .NoError (err )
118
120
s .Equal (shardInfo , resp .ShardInfo )
119
121
}
120
122
121
123
func (s * ShardSuite ) TestUpdateShard_OwnershipLost () {
122
- shardID := int32 (3 )
123
124
rangeID := rand .Int63 ()
124
- shardInfo := RandomShardInfo (shardID , rangeID )
125
+ shardInfo := RandomShardInfo (s . ShardID , rangeID )
125
126
126
127
resp , err := s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
127
- ShardID : shardID ,
128
+ ShardID : s . ShardID ,
128
129
InitialShardInfo : shardInfo ,
129
130
})
130
131
s .NoError (err )
131
132
s .Equal (shardInfo , resp .ShardInfo )
132
133
133
134
updateRangeID := rand .Int63 ()
134
- updateShardInfo := RandomShardInfo (shardID , rand .Int63 ())
135
+ updateShardInfo := RandomShardInfo (s . ShardID , rand .Int63 ())
135
136
err = s .ShardManager .UpdateShard (s .Ctx , & p.UpdateShardRequest {
136
137
ShardInfo : updateShardInfo ,
137
138
PreviousRangeID : updateRangeID ,
138
139
})
139
140
s .IsType (& p.ShardOwnershipLostError {}, err )
140
141
141
142
resp , err = s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
142
- ShardID : shardID ,
143
+ ShardID : s . ShardID ,
143
144
InitialShardInfo : shardInfo ,
144
145
})
145
146
s .NoError (err )
146
147
s .Equal (shardInfo , resp .ShardInfo )
147
148
}
148
149
149
150
func (s * ShardSuite ) TestUpdateShard_Success () {
150
- shardID := int32 (4 )
151
151
rangeID := rand .Int63 ()
152
- shardInfo := RandomShardInfo (shardID , rangeID )
152
+ shardInfo := RandomShardInfo (s . ShardID , rangeID )
153
153
154
154
resp , err := s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
155
- ShardID : shardID ,
155
+ ShardID : s . ShardID ,
156
156
InitialShardInfo : shardInfo ,
157
157
})
158
158
s .NoError (err )
159
159
s .Equal (shardInfo , resp .ShardInfo )
160
160
161
- updateShardInfo := RandomShardInfo (shardID , rangeID + 1 )
161
+ updateShardInfo := RandomShardInfo (s . ShardID , rangeID + 1 )
162
162
err = s .ShardManager .UpdateShard (s .Ctx , & p.UpdateShardRequest {
163
163
ShardInfo : updateShardInfo ,
164
164
PreviousRangeID : rangeID ,
165
165
})
166
166
s .NoError (err )
167
167
168
168
resp , err = s .ShardManager .GetOrCreateShard (s .Ctx , & p.GetOrCreateShardRequest {
169
- ShardID : shardID ,
169
+ ShardID : s . ShardID ,
170
170
InitialShardInfo : shardInfo ,
171
171
})
172
172
s .NoError (err )
0 commit comments