Skip to content

Commit 8e78643

Browse files
committed
test: refactor keyspace manager tests
Signed-off-by: JmPotato <github@ipotato.me>
1 parent 7ac58b7 commit 8e78643

File tree

1 file changed

+51
-43
lines changed

1 file changed

+51
-43
lines changed

pkg/mcs/resourcemanager/server/keyspace_manager_test.go

Lines changed: 51 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -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

104104
func 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

196193
func 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

257265
func 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

Comments
 (0)