1919 adminservice.AdminServiceClient
2020 describeTaskQueuePartitionFn func (request * adminservice.DescribeTaskQueuePartitionRequest ) (* adminservice.DescribeTaskQueuePartitionResponse , error )
2121 forceUnloadTaskQueuePartitionFn func (request * adminservice.ForceUnloadTaskQueuePartitionRequest ) (* adminservice.ForceUnloadTaskQueuePartitionResponse , error )
22+ getTaskQueueUserDataFn func (request * adminservice.GetTaskQueueUserDataRequest ) (* adminservice.GetTaskQueueUserDataResponse , error )
2223 }
2324)
2425
@@ -82,6 +83,10 @@ func (t *testClient) ForceUnloadTaskQueuePartition(_ context.Context, request *a
8283 return t .forceUnloadTaskQueuePartitionFn (request )
8384}
8485
86+ func (t * testClient ) GetTaskQueueUserData (_ context.Context , request * adminservice.GetTaskQueueUserDataRequest , opts ... grpc.CallOption ) (* adminservice.GetTaskQueueUserDataResponse , error ) {
87+ return t .getTaskQueueUserDataFn (request )
88+ }
89+
8590func (s * taskQueueCommandTestSuite ) SetupTest () {
8691 s .Assertions = require .New (s .T ())
8792 s .controller = gomock .NewController (s .T ())
@@ -94,6 +99,9 @@ func (s *taskQueueCommandTestSuite) SetupTest() {
9499 forceUnloadTaskQueuePartitionFn : func (request * adminservice.ForceUnloadTaskQueuePartitionRequest ) (* adminservice.ForceUnloadTaskQueuePartitionResponse , error ) {
95100 return & adminservice.ForceUnloadTaskQueuePartitionResponse {}, nil
96101 },
102+ getTaskQueueUserDataFn : func (request * adminservice.GetTaskQueueUserDataRequest ) (* adminservice.GetTaskQueueUserDataResponse , error ) {
103+ return & adminservice.GetTaskQueueUserDataResponse {}, nil
104+ },
97105 }
98106 s .app = NewCliApp (func (params * Params ) {
99107 params .ClientFactory = client
@@ -163,3 +171,40 @@ func (s *taskQueueCommandTestSuite) TestForceUnloadTaskQueuePartition() {
163171 }
164172 }
165173}
174+
175+ // TestGetTaskQueueUserData tests that the cli accepts the various arguments for get-user-data.
176+ func (s * taskQueueCommandTestSuite ) TestGetTaskQueueUserData () {
177+ baseCommand := []string {"tdbg" , "taskqueue" , "get-user-data" ,
178+ "--task-queue" , "test" }
179+
180+ // Run shared test cases, skipping sticky-name (not a registered flag on this command).
181+ for _ , test := range testCases {
182+ if len (test .inputFlags ) > 0 && test .inputFlags [0 ] == "--sticky-name" {
183+ continue
184+ }
185+ cliCommand := append (baseCommand , test .inputFlags ... )
186+ resp := s .app .Run (cliCommand )
187+ if resp != nil {
188+ s .ErrorContainsf (resp , test .err .Error (), "error present" )
189+ }
190+ }
191+
192+ // Missing --task-queue is enforced by cli/v2 (Required: true) before the action runs.
193+ s .Error (s .app .Run ([]string {"tdbg" , "taskqueue" , "get-user-data" }))
194+
195+ // No --task-queue-type or --partition-id: both use their defaults and succeed.
196+ s .NoError (s .app .Run ([]string {"tdbg" , "taskqueue" , "get-user-data" ,
197+ "--task-queue" , "test" }))
198+
199+ // Matching client returns an error: CLI wraps and returns it.
200+ errorClient := & testClient {
201+ getTaskQueueUserDataFn : func (request * adminservice.GetTaskQueueUserDataRequest ) (* adminservice.GetTaskQueueUserDataResponse , error ) {
202+ return nil , errors .New ("matching unavailable" )
203+ },
204+ }
205+ errorApp := NewCliApp (func (params * Params ) { params .ClientFactory = errorClient })
206+ errorApp .ExitErrHandler = func (context * cli.Context , err error ) {}
207+ resp := errorApp .Run ([]string {"tdbg" , "taskqueue" , "get-user-data" ,
208+ "--task-queue" , "test" })
209+ s .ErrorContains (resp , "unable to get Task Queue User Data" )
210+ }
0 commit comments