@@ -27,20 +27,13 @@ import (
2727 "github.com/tikv/pd/pkg/storage"
2828)
2929
30- func TestNewKeyspaceResourceGroupManager (t * testing.T ) {
30+ func TestInitDefaultResourceGroup (t * testing.T ) {
3131 re := require .New (t )
3232
3333 krgm := newKeyspaceResourceGroupManager (1 , storage .NewStorageWithMemoryBackend ())
34-
3534 re .NotNil (krgm )
3635 re .Equal (uint32 (1 ), krgm .keyspaceID )
3736 re .Empty (krgm .groups )
38- }
39-
40- func TestInitDefaultResourceGroup (t * testing.T ) {
41- re := require .New (t )
42-
43- krgm := newKeyspaceResourceGroupManager (1 , storage .NewStorageWithMemoryBackend ())
4437
4538 // No default resource group initially.
4639 _ , exists := krgm .groups [reservedDefaultGroupName ]
@@ -73,6 +66,13 @@ func TestAddResourceGroup(t *testing.T) {
7366 }
7467 err := krgm .addResourceGroup (group )
7568 re .Error (err )
69+ // Test adding invalid resource group (too long name).
70+ group = & rmpb.ResourceGroup {
71+ Name : "test_the_resource_group_name_is_too_long" ,
72+ Mode : rmpb .GroupMode_RUMode ,
73+ }
74+ err = krgm .addResourceGroup (group )
75+ re .Error (err )
7676
7777 // Test adding a valid resource group.
7878 group = & rmpb.ResourceGroup {
@@ -94,11 +94,11 @@ func TestAddResourceGroup(t *testing.T) {
9494 // Verify the group was added.
9595 addedGroup , exists := krgm .groups ["test_group" ]
9696 re .True (exists )
97- re .Equal ("test_group" , addedGroup .Name )
98- re .Equal (rmpb . GroupMode_RUMode , addedGroup .Mode )
99- re .Equal (uint32 ( 5 ), addedGroup .Priority )
100- re .Equal (uint64 ( 100 ), addedGroup .RUSettings .RU .Settings .FillRate )
101- re .Equal (int64 ( 200 ), addedGroup .RUSettings .RU .Settings .BurstLimit )
97+ re .Equal (group . GetName () , addedGroup .Name )
98+ re .Equal (group . GetMode () , addedGroup .Mode )
99+ re .Equal (group . GetPriority ( ), addedGroup .Priority )
100+ re .Equal (group . GetRUSettings (). GetRU (). GetSettings (). GetFillRate ( ), addedGroup .RUSettings .RU .Settings .FillRate )
101+ re .Equal (group . GetRUSettings (). GetRU (). GetSettings (). GetBurstLimit ( ), addedGroup .RUSettings .RU .Settings .BurstLimit )
102102}
103103
104104func TestModifyResourceGroup (t * testing.T ) {
@@ -143,10 +143,10 @@ func TestModifyResourceGroup(t *testing.T) {
143143 // Verify the group was modified.
144144 updatedGroup , exists := krgm .groups ["test_group" ]
145145 re .True (exists )
146- re .Equal ("test_group" , updatedGroup .Name )
147- re .Equal (uint32 ( 10 ), updatedGroup .Priority )
148- re .Equal (uint64 ( 200 ), updatedGroup .RUSettings .RU .Settings .FillRate )
149- re .Equal (int64 ( 300 ), updatedGroup .RUSettings .RU .Settings .BurstLimit )
146+ re .Equal (modifiedGroup . GetName () , updatedGroup .Name )
147+ re .Equal (modifiedGroup . GetPriority ( ), updatedGroup .Priority )
148+ re .Equal (modifiedGroup . GetRUSettings (). GetRU (). GetSettings (). GetFillRate ( ), updatedGroup .RUSettings .RU .Settings .FillRate )
149+ re .Equal (modifiedGroup . GetRUSettings (). GetRU (). GetSettings (). GetBurstLimit ( ), updatedGroup .RUSettings .RU .Settings .BurstLimit )
150150
151151 // Try to modify a non-existent group.
152152 nonExistentGroup := & rmpb.ResourceGroup {
@@ -172,25 +172,22 @@ func TestDeleteResourceGroup(t *testing.T) {
172172 re .NoError (err )
173173
174174 // Verify the group exists.
175- _ , exists := krgm .groups ["test_group" ]
176- re .True (exists )
175+ re .NotNil (krgm .getResourceGroup (group .GetName (), false ))
177176
178177 // Delete the group.
179- err = krgm .deleteResourceGroup ("test_group" )
178+ err = krgm .deleteResourceGroup (group . GetName () )
180179 re .NoError (err )
181180
182181 // Verify the group was deleted.
183- _ , exists = krgm .groups ["test_group" ]
184- re .False (exists )
182+ re .Nil (krgm .getResourceGroup (group .GetName (), false ))
185183
186184 // Try to delete the default group.
187185 krgm .initDefaultResourceGroup ()
188186 err = krgm .deleteResourceGroup (reservedDefaultGroupName )
189187 re .Error (err ) // Should not be able to delete default group.
190188
191189 // Verify default group still exists.
192- _ , exists = krgm .groups [reservedDefaultGroupName ]
193- re .True (exists )
190+ re .NotNil (krgm .getResourceGroup (reservedDefaultGroupName , false ))
194191}
195192
196193func TestGetResourceGroup (t * testing.T ) {
@@ -216,11 +213,11 @@ func TestGetResourceGroup(t *testing.T) {
216213 re .NoError (err )
217214
218215 // Get the resource group without stats.
219- retrievedGroup := krgm .getResourceGroup ("test_group" , false )
216+ retrievedGroup := krgm .getResourceGroup (group . GetName () , false )
220217 re .NotNil (retrievedGroup )
221- re .Equal ("test_group" , retrievedGroup .Name )
222- re .Equal (rmpb . GroupMode_RUMode , retrievedGroup .Mode )
223- re .Equal (uint32 ( 5 ), retrievedGroup .Priority )
218+ re .Equal (group . GetName () , retrievedGroup .Name )
219+ re .Equal (group . GetMode () , retrievedGroup .Mode )
220+ re .Equal (group . GetPriority ( ), retrievedGroup .Priority )
224221
225222 // Get a non-existent group.
226223 nonExistentGroup := krgm .getResourceGroup ("non_existent" , false )
@@ -252,6 +249,17 @@ func TestGetResourceGroupList(t *testing.T) {
252249 re .Equal ("group1" , groups [0 ].Name )
253250 re .Equal ("group2" , groups [1 ].Name )
254251 re .Equal ("group3" , groups [2 ].Name )
252+
253+ krgm .initDefaultResourceGroup ()
254+ groups = krgm .getResourceGroupList (false , true )
255+ re .Len (groups , 4 )
256+ groups = krgm .getResourceGroupList (false , false )
257+ re .Len (groups , 3 )
258+
259+ names := krgm .getResourceGroupNames (true )
260+ re .Len (names , 4 )
261+ names = krgm .getResourceGroupNames (false )
262+ re .Len (names , 3 )
255263}
256264
257265func TestAddResourceGroupFromRaw (t * testing.T ) {
@@ -279,18 +287,18 @@ func TestAddResourceGroupFromRaw(t *testing.T) {
279287 re .NoError (err )
280288
281289 // Add from raw.
282- err = krgm .addResourceGroupFromRaw ("test_group" , string (data ))
290+ err = krgm .addResourceGroupFromRaw (group . GetName () , string (data ))
283291 re .NoError (err )
284292
285293 // Verify the group was added correctly.
286- addedGroup , exists := krgm .groups ["test_group" ]
294+ addedGroup , exists := krgm .groups [group . GetName () ]
287295 re .True (exists )
288- re .Equal ("test_group" , addedGroup .Name )
289- re .Equal (rmpb . GroupMode_RUMode , addedGroup .Mode )
290- re .Equal (uint32 ( 5 ), addedGroup .Priority )
296+ re .Equal (group . GetName () , addedGroup .Name )
297+ re .Equal (group . GetMode () , addedGroup .Mode )
298+ re .Equal (group . GetPriority ( ), addedGroup .Priority )
291299
292300 // Test with invalid raw value.
293- err = krgm .addResourceGroupFromRaw ("invalid" , "invalid_data" )
301+ err = krgm .addResourceGroupFromRaw (group . GetName () , "invalid_data" )
294302 re .Error (err )
295303}
296304
@@ -335,17 +343,17 @@ func TestSetRawStatesIntoResourceGroup(t *testing.T) {
335343 re .NoError (err )
336344
337345 // Set raw states.
338- err = krgm .setRawStatesIntoResourceGroup ("test_group" , string (data ))
346+ err = krgm .setRawStatesIntoResourceGroup (group . GetName () , string (data ))
339347 re .NoError (err )
340348
341349 // Verify states were updated.
342- updatedGroup := krgm .groups ["test_group" ]
350+ updatedGroup := krgm .groups [group . GetName () ]
343351 re .InDelta (tokens , updatedGroup .RUSettings .RU .Tokens , 0.001 )
344- re .Equal (float64 ( 50 ) , updatedGroup .RUConsumption .RRU )
345- re .Equal (float64 ( 30 ) , updatedGroup .RUConsumption .WRU )
352+ re .Equal (states . RUConsumption . RRU , updatedGroup .RUConsumption .RRU )
353+ re .Equal (states . RUConsumption . WRU , updatedGroup .RUConsumption .WRU )
346354
347355 // Test with invalid raw value.
348- err = krgm .setRawStatesIntoResourceGroup ("test_group" , "invalid_data" )
356+ err = krgm .setRawStatesIntoResourceGroup (group . GetName () , "invalid_data" )
349357 re .Error (err )
350358}
351359
@@ -375,25 +383,25 @@ func TestPersistResourceGroupRunningState(t *testing.T) {
375383 // Check the states before persist.
376384 storage .LoadResourceGroupStates (func (keyspaceID uint32 , name , rawValue string ) {
377385 re .Equal (uint32 (1 ), keyspaceID )
378- re .Equal ("test_group" , name )
386+ re .Equal (group . GetName () , name )
379387 states := & GroupStates {}
380388 err := json .Unmarshal ([]byte (rawValue ), states )
381389 re .NoError (err )
382390 re .Equal (0.0 , states .RU .Tokens )
383391 })
384392
385- mutableGroup := krgm .getMutableResourceGroup ("test_group" )
393+ mutableGroup := krgm .getMutableResourceGroup (group . GetName () )
386394 mutableGroup .RUSettings .RU .Tokens = 100.0
387395 // Persist the running state.
388396 krgm .persistResourceGroupRunningState ()
389397
390398 // Verify state was persisted.
391399 storage .LoadResourceGroupStates (func (keyspaceID uint32 , name , rawValue string ) {
392400 re .Equal (uint32 (1 ), keyspaceID )
393- re .Equal ("test_group" , name )
401+ re .Equal (group . GetName () , name )
394402 states := & GroupStates {}
395403 err := json .Unmarshal ([]byte (rawValue ), states )
396404 re .NoError (err )
397- re .Equal (100.0 , states .RU .Tokens )
405+ re .Equal (mutableGroup . RUSettings . RU . Tokens , states .RU .Tokens )
398406 })
399407}
0 commit comments