@@ -264,9 +264,10 @@ func TestNexusSyncOperation(t *testing.T) {
264
264
t .Run ("fmt-errorf" , func (t * testing.T ) {
265
265
tc .metricsHandler .Clear ()
266
266
_ , err := nexus .ExecuteOperation (ctx , nc , syncOp , "fmt-errorf" , nexus.ExecuteOperationOptions {})
267
- var unexpectedResponseErr * nexus.UnexpectedResponseError
268
- require .ErrorAs (t , err , & unexpectedResponseErr )
269
- require .Contains (t , unexpectedResponseErr .Message , `"500 Internal Server Error": arbitrary error message` )
267
+ var handlerErr * nexus.HandlerError
268
+ require .ErrorAs (t , err , & handlerErr )
269
+ require .Equal (t , nexus .HandlerErrorTypeInternal , handlerErr .Type )
270
+ require .Contains (t , handlerErr .Failure .Message , "arbitrary error message" )
270
271
271
272
require .EventuallyWithT (t , func (t * assert.CollectT ) {
272
273
tc .requireTimer (t , metrics .NexusTaskEndToEndLatency , service .Name , syncOp .Name ())
@@ -278,10 +279,10 @@ func TestNexusSyncOperation(t *testing.T) {
278
279
279
280
t .Run ("handlererror" , func (t * testing.T ) {
280
281
_ , err := nexus .ExecuteOperation (ctx , nc , syncOp , "handlererror" , nexus.ExecuteOperationOptions {})
281
- var unexpectedResponseErr * nexus.UnexpectedResponseError
282
- require .ErrorAs (t , err , & unexpectedResponseErr )
283
- require .Equal (t , http . StatusBadRequest , unexpectedResponseErr . Response . StatusCode )
284
- require .Contains (t , unexpectedResponseErr . Message , `"400 Bad Request": handlererror` )
282
+ var handlerErr * nexus.HandlerError
283
+ require .ErrorAs (t , err , & handlerErr )
284
+ require .Equal (t , nexus . HandlerErrorTypeBadRequest , handlerErr . Type )
285
+ require .Contains (t , handlerErr . Failure . Message , " handlererror" )
285
286
286
287
require .EventuallyWithT (t , func (t * assert.CollectT ) {
287
288
tc .requireTimer (t , metrics .NexusTaskEndToEndLatency , service .Name , syncOp .Name ())
@@ -293,10 +294,10 @@ func TestNexusSyncOperation(t *testing.T) {
293
294
294
295
t .Run ("already-started" , func (t * testing.T ) {
295
296
_ , err := nexus .ExecuteOperation (ctx , nc , syncOp , "already-started" , nexus.ExecuteOperationOptions {})
296
- var unexpectedResponseErr * nexus.UnexpectedResponseError
297
- require .ErrorAs (t , err , & unexpectedResponseErr )
298
- require .Equal (t , http . StatusBadRequest , unexpectedResponseErr . Response . StatusCode )
299
- require .Contains (t , unexpectedResponseErr . Message , `"400 Bad Request": faking workflow already started` )
297
+ var handlerErr * nexus.HandlerError
298
+ require .ErrorAs (t , err , & handlerErr )
299
+ require .Equal (t , nexus . HandlerErrorTypeBadRequest , handlerErr . Type )
300
+ require .Contains (t , handlerErr . Failure . Message , " faking workflow already started" )
300
301
301
302
require .EventuallyWithT (t , func (t * assert.CollectT ) {
302
303
tc .requireTimer (t , metrics .NexusTaskEndToEndLatency , service .Name , syncOp .Name ())
@@ -308,10 +309,10 @@ func TestNexusSyncOperation(t *testing.T) {
308
309
309
310
t .Run ("retryable-application-error" , func (t * testing.T ) {
310
311
_ , err := nexus .ExecuteOperation (ctx , nc , syncOp , "retryable-application-error" , nexus.ExecuteOperationOptions {})
311
- var unexpectedResponseErr * nexus.UnexpectedResponseError
312
- require .ErrorAs (t , err , & unexpectedResponseErr )
313
- require .Equal (t , http . StatusInternalServerError , unexpectedResponseErr . Response . StatusCode )
314
- require .Contains (t , unexpectedResponseErr . Message , `"500 Internal Server Error": fake app error for test` )
312
+ var handlerErr * nexus.HandlerError
313
+ require .ErrorAs (t , err , & handlerErr )
314
+ require .Equal (t , nexus . HandlerErrorTypeInternal , handlerErr . Type )
315
+ require .Contains (t , handlerErr . Failure . Message , " fake app error for test" )
315
316
316
317
require .EventuallyWithT (t , func (t * assert.CollectT ) {
317
318
tc .requireTimer (t , metrics .NexusTaskEndToEndLatency , service .Name , syncOp .Name ())
@@ -323,10 +324,10 @@ func TestNexusSyncOperation(t *testing.T) {
323
324
324
325
t .Run ("non-retryable-application-error" , func (t * testing.T ) {
325
326
_ , err := nexus .ExecuteOperation (ctx , nc , syncOp , "non-retryable-application-error" , nexus.ExecuteOperationOptions {})
326
- var unexpectedResponseErr * nexus.UnexpectedResponseError
327
- require .ErrorAs (t , err , & unexpectedResponseErr )
328
- require .Equal (t , http . StatusBadRequest , unexpectedResponseErr . Response . StatusCode )
329
- require .Contains (t , unexpectedResponseErr . Message , `"400 Bad Request": fake app error for test` )
327
+ var handlerErr * nexus.HandlerError
328
+ require .ErrorAs (t , err , & handlerErr )
329
+ require .Equal (t , nexus . HandlerErrorTypeBadRequest , handlerErr . Type )
330
+ require .Contains (t , handlerErr . Failure . Message , " fake app error for test" )
330
331
331
332
require .EventuallyWithT (t , func (t * assert.CollectT ) {
332
333
tc .requireTimer (t , metrics .NexusTaskEndToEndLatency , service .Name , syncOp .Name ())
@@ -338,10 +339,10 @@ func TestNexusSyncOperation(t *testing.T) {
338
339
339
340
t .Run ("panic" , func (t * testing.T ) {
340
341
_ , err := nexus .ExecuteOperation (ctx , nc , syncOp , "panic" , nexus.ExecuteOperationOptions {})
341
- var unexpectedResponseErr * nexus.UnexpectedResponseError
342
- require .ErrorAs (t , err , & unexpectedResponseErr )
343
- require .Equal (t , 500 , unexpectedResponseErr . Response . StatusCode )
344
- require .Contains (t , unexpectedResponseErr .Message , "panic: panic requested" )
342
+ var handlerErr * nexus.HandlerError
343
+ require .ErrorAs (t , err , & handlerErr )
344
+ require .Equal (t , nexus . HandlerErrorTypeInternal , handlerErr . Type )
345
+ require .Contains (t , handlerErr . Failure .Message , "panic: panic requested" )
345
346
346
347
require .EventuallyWithT (t , func (t * assert.CollectT ) {
347
348
tc .requireTimer (t , metrics .NexusTaskEndToEndLatency , service .Name , syncOp .Name ())
0 commit comments