MCPcopy
hub / github.com/cubefs/cubefs / TestSetChunkStatus

Function TestSetChunkStatus

blobstore/blobnode/chunk_test.go:93–158  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

91}
92
93func TestSetChunkStatus(t *testing.T) {
94 service, _ := newTestBlobNodeService(t, "SetChunkStatus")
95 defer cleanTestBlobNodeService(service)
96
97 host := runTestServer(service)
98 client := bnapi.New(&bnapi.Config{})
99
100 ctx := context.TODO()
101
102 diskID := proto.DiskID(101)
103 vuid := proto.Vuid(2001)
104
105 statChunkArg := &bnapi.StatChunkArgs{
106 DiskID: diskID,
107 Vuid: vuid,
108 }
109 _, err := client.StatChunk(ctx, host, statChunkArg)
110 require.Error(t, err)
111
112 changeChunkArg := &bnapi.ChangeChunkStatusArgs{
113 DiskID: diskID,
114 Vuid: vuid,
115 }
116 err = client.SetChunkReadonly(ctx, host, changeChunkArg)
117 require.Error(t, err)
118 err = client.SetChunkReadwrite(ctx, host, changeChunkArg)
119 require.Error(t, err)
120 err = client.ReleaseChunk(ctx, host, changeChunkArg)
121 require.Error(t, err)
122
123 createChunkArg := &bnapi.CreateChunkArgs{
124 DiskID: diskID,
125 Vuid: vuid,
126 }
127 err = client.CreateChunk(ctx, host, createChunkArg)
128 require.NoError(t, err)
129
130 err = client.SetChunkReadonly(ctx, host, changeChunkArg)
131 require.NoError(t, err)
132
133 chunkStat, err := client.StatChunk(ctx, host, statChunkArg)
134 require.NoError(t, err)
135 require.Equal(t, bnapi.ChunkStatusReadOnly, chunkStat.Status)
136
137 err = client.SetChunkReadonly(ctx, host, changeChunkArg)
138 require.NoError(t, err)
139
140 err = client.SetChunkReadwrite(ctx, host, changeChunkArg)
141 require.NoError(t, err)
142
143 chunkStat, err = client.StatChunk(ctx, host, statChunkArg)
144 require.NoError(t, err)
145 require.Equal(t, bnapi.ChunkStatusNormal, chunkStat.Status)
146
147 err = client.SetChunkReadwrite(ctx, host, changeChunkArg)
148 require.NoError(t, err)
149
150 ds, exist := service.Disks[diskID]

Callers

nothing calls this directly

Calls 14

DiskIDTypeAlias · 0.92
VuidTypeAlias · 0.92
newTestBlobNodeServiceFunction · 0.85
cleanTestBlobNodeServiceFunction · 0.85
runTestServerFunction · 0.85
StatChunkMethod · 0.65
ErrorMethod · 0.65
SetChunkReadonlyMethod · 0.65
SetChunkReadwriteMethod · 0.65
ReleaseChunkMethod · 0.65
CreateChunkMethod · 0.65
GetChunkStorageMethod · 0.65

Tested by

no test coverage detected