Skip to content

Commit ce83cdd

Browse files
committed
GOCBC-1817: Update eventing tests to take into account 8.0.1 error changes
* State transitions to the existing state now fail instead of succeeding, as the pre-8.0 behavior has been restored. * If the function does not exist for a state transition, the error returned is now ERR_APP_NOT_FOUND instead of ERR_APP_NOT_FOUND_TS, which appears like a regression. We should skip this test until this is fixed or we have confirmation that this is the intended behavior. And one change that had been made before the 8.0 release: * The bug where the source and metadata keyspaces were allowed to be the same has been fixed. However, the error returned is now ERR_INVALID_REQUEST Change-Id: I97d2a7030783f2e6d48c1b5e435b55232e6d9b4e Reviewed-on: https://review.couchbase.org/c/gocb/+/244579 Reviewed-by: Charles Dixon <chvckd@gmail.com> Tested-by: Build Bot <build@couchbase.com>
1 parent 40e4070 commit ce83cdd

2 files changed

Lines changed: 28 additions & 16 deletions

File tree

cluster_eventingmgr_test.go

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ func (suite *IntegrationTestSuite) TestEventingManagerUnknownBucket() {
200200
func (suite *IntegrationTestSuite) runEventingManagerUnknownFunctionTest(scope *Scope) {
201201
suite.skipIfUnsupported(CollectionsFeature)
202202
suite.skipIfUnsupported(EventingFunctionManagerFeature)
203+
suite.skipIfSupported(EventingFunctionManagerMB71748Feature) // Remove once MB-71748 is fixed
203204

204205
var mgr eventingManager
205206
if scope == nil {
@@ -383,7 +384,6 @@ func (suite *IntegrationTestSuite) TestEventingManagerCollectionNotFound() {
383384
func (suite *IntegrationTestSuite) runEventingManagerSameSourceAndMetaKeyspaceTest(scope *Scope) {
384385
suite.skipIfUnsupported(CollectionsFeature)
385386
suite.skipIfUnsupported(EventingFunctionManagerFeature)
386-
suite.skipIfUnsupported(EventingFunctionManagerMB68025Feature)
387387

388388
var mgr eventingManager
389389
if scope == nil {
@@ -421,9 +421,17 @@ func (suite *IntegrationTestSuite) runEventingManagerSameSourceAndMetaKeyspaceTe
421421

422422
success := suite.tryUntil(time.Now().Add(2*time.Second), 100*time.Millisecond, func() bool {
423423
err := mgr.UpsertFunction(expectedFn, nil)
424-
if !errors.Is(err, ErrEventingFunctionIdenticalKeyspace) {
425-
suite.T().Logf("Expected ResumeFunction to fail with identical keyspace but was %v", err)
426-
return false
424+
if globalCluster.SupportsFeature(EventingFunctionManagerMB68025Feature) {
425+
// After 8.0 eventing responds with ERR_INVALID_REQUEST
426+
if err == nil {
427+
suite.T().Logf("Expected ResumeFunction to fail")
428+
return false
429+
}
430+
} else {
431+
if !errors.Is(err, ErrEventingFunctionIdenticalKeyspace) {
432+
suite.T().Logf("Expected ResumeFunction to fail with identical keyspace but was %v", err)
433+
return false
434+
}
427435
}
428436

429437
return true
@@ -644,22 +652,15 @@ func (suite *IntegrationTestSuite) runEventingManagerPausesAndResumesTest(scope
644652

645653
err = mgr.PauseFunction(fnName, nil)
646654
if globalCluster.SupportsFeature(EventingFunctionManagerMB67773Feature) {
655+
suite.Assert().Error(err)
656+
} else {
647657
if !errors.Is(err, ErrEventingFunctionNotBootstrapped) {
648658
suite.T().Fatalf("Expected UndeployFunction to fail with not bootstrapped but was %v", err)
649659
}
650-
} else {
651-
suite.Assert().Error(err)
652660
}
653661

654662
err = mgr.ResumeFunction(fnName, nil)
655663
if globalCluster.SupportsFeature(EventingFunctionManagerMB67773Feature) {
656-
if !errors.Is(err, ErrEventingFunctionNotDeployed) {
657-
suite.T().Fatalf("Expected UndeployFunction to fail with not deployed but was %v", err)
658-
}
659-
660-
err = mgr.DeployFunction(fnName, nil)
661-
suite.Require().Nil(err, err)
662-
} else {
663664
suite.Require().NoError(err)
664665

665666
success = suite.tryUntil(time.Now().Add(60*time.Second), 500*time.Millisecond, func() bool {
@@ -679,6 +680,13 @@ func (suite *IntegrationTestSuite) runEventingManagerPausesAndResumesTest(scope
679680
return false
680681
})
681682
suite.Require().True(success, "FunctionsStatus never reported function resumed")
683+
} else {
684+
if !errors.Is(err, ErrEventingFunctionNotDeployed) {
685+
suite.T().Fatalf("Expected UndeployFunction to fail with not deployed but was %v", err)
686+
}
687+
688+
err = mgr.DeployFunction(fnName, nil)
689+
suite.Require().Nil(err, err)
682690
}
683691

684692
actualFn, err = mgr.GetFunction(fnName, nil)

testcluster_test.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ var (
3333
srvVer762 = NodeVersion{7, 6, 2, 0, 0, "", false}
3434
srvVer764 = NodeVersion{7, 6, 4, 0, 0, "", false}
3535
srvVer800 = NodeVersion{8, 0, 0, 0, 0, "", false}
36+
srvVer801 = NodeVersion{8, 0, 1, 0, 0, "", false}
3637
mockVer156 = NodeVersion{1, 5, 6, 0, 0, "", true}
3738
mockVer1513 = NodeVersion{1, 5, 13, 0, 0, "", true}
3839
mockVer1515 = NodeVersion{1, 5, 15, 0, 0, "", true}
@@ -120,6 +121,7 @@ var (
120121
EventingFunctionManagerResourceNotFoundAtDeploy = FeatureCode("eventingmanagementcollectionnotfoundatdeploy")
121122
EventingFunctionManagerMB68025Feature = FeatureCode("eventingmanagementmb68025")
122123
EventingFunctionManagerMB67773Feature = FeatureCode("eventingmanagementmb67773")
124+
EventingFunctionManagerMB71748Feature = FeatureCode("eventingmanagementmb71748")
123125
)
124126

125127
type TestFeatureFlag struct {
@@ -443,15 +445,17 @@ func (c *testCluster) SupportsFeature(feature FeatureCode) bool {
443445
case ClusterLabelsFeature:
444446
supported = !c.Version.Lower(srvVer764) && !c.Version.Equal(protostellarVer)
445447
case EventingFunctionManagerAllowsSameStateTransitionFeature:
446-
supported = !c.Version.Lower(srvVer800)
448+
supported = c.Version.Equal(srvVer800)
447449
case EventingFunctionManagerMB68025Feature:
448-
supported = !c.Version.Equal(srvVer800)
450+
supported = !c.Version.Lower(srvVer800)
449451
case EventingFunctionManagerResourceNotFoundAtDeploy:
450452
supported = !c.Version.Lower(srvVer800)
451453
case EventingFunctionManagerMB67773Feature:
452-
supported = !c.Version.Equal(srvVer800)
454+
supported = !c.Version.Lower(srvVer800)
453455
case UserManagerGroupRolesFeature:
454456
supported = !c.Version.Lower(srvVer700)
457+
case EventingFunctionManagerMB71748Feature:
458+
supported = !c.Version.Lower(srvVer801)
455459
}
456460
}
457461

0 commit comments

Comments
 (0)