diff --git a/server/jetstream_cluster_test.go b/server/jetstream_cluster_test.go index 93ab7216..e5f7efcc 100644 --- a/server/jetstream_cluster_test.go +++ b/server/jetstream_cluster_test.go @@ -1458,10 +1458,8 @@ func TestJetStreamClusterStreamExtendedUpdates(t *testing.T) { // Mirror changes are not supported for now cfg.Subjects = nil cfg.Mirror = &nats.StreamSource{Name: "ORDERS"} - if _, err := js.UpdateStream(cfg); err == nil || - !strings.Contains(NewJSStreamMirrorNotUpdatableError().Error(), err.Error()) { - t.Fatalf("Expected error %q, got %q", NewJSStreamMirrorNotUpdatableError(), err) - } + _, err := js.UpdateStream(cfg) + require_Error(t, err, NewJSStreamMirrorNotUpdatableError()) } func TestJetStreamClusterDoubleAdd(t *testing.T) { @@ -5665,7 +5663,7 @@ func TestJetStreamClusterSourceFilterSubjectUpdateFail(t *testing.T) { Replicas: 2, }) require_Error(t, err) - require_Equal(t, err.Error(), "source 'TEST' filter subject 'notthere' does not overlap with any origin stream subject") + require_Equal(t, err.Error(), "nats: source 'TEST' filter subject 'notthere' does not overlap with any origin stream subject") _, err = js.AddStream(&nats.StreamConfig{ Name: "M", @@ -5673,7 +5671,7 @@ func TestJetStreamClusterSourceFilterSubjectUpdateFail(t *testing.T) { Replicas: 2, }) require_Error(t, err) - require_Equal(t, err.Error(), "mirror 'TEST' filter subject 'notthere' does not overlap with any origin stream subject") + require_Equal(t, err.Error(), "nats: mirror 'TEST' filter subject 'notthere' does not overlap with any origin stream subject") } func TestJetStreamClusterMirrorAndSourcesFilteredConsumers(t *testing.T) { @@ -9313,9 +9311,8 @@ func TestJetStreamClusterAccountInfoForSystemAccount(t *testing.T) { nc, js := jsClientConnect(t, c.randomServer(), nats.UserInfo("admin", "s3cr3t!")) defer nc.Close() - if _, err := js.AccountInfo(); err != nats.ErrJetStreamNotEnabled { - t.Fatalf("Expected a not enabled error for system account, got %v", err) - } + _, err := js.AccountInfo() + require_Error(t, err, nats.ErrJetStreamNotEnabledForAccount) } func TestJetStreamClusterListFilter(t *testing.T) { @@ -9387,6 +9384,7 @@ func TestJetStreamClusterConsumerUpdates(t *testing.T) { testConsumerUpdate := func(t *testing.T, s *Server, replicas int) { nc, js := jsClientConnect(t, s) defer nc.Close() + // Create a stream. _, err := js.AddStream(&nats.StreamConfig{ Name: "TEST", @@ -9409,7 +9407,6 @@ func TestJetStreamClusterConsumerUpdates(t *testing.T) { MaxDeliver: 5, MaxAckPending: 50, } - _, err = js.AddConsumer("TEST", cfg) require_NoError(t, err) @@ -9432,13 +9429,13 @@ func TestJetStreamClusterConsumerUpdates(t *testing.T) { // Description cfg.Description = "New Description" - _, err = js.AddConsumer("TEST", cfg) + _, err = js.UpdateConsumer("TEST", cfg) require_NoError(t, err) // MaxAckPending checkSubsPending(t, sub, 50) cfg.MaxAckPending = 75 - _, err = js.AddConsumer("TEST", cfg) + _, err = js.UpdateConsumer("TEST", cfg) require_NoError(t, err) checkSubsPending(t, sub, 75) @@ -9454,54 +9451,54 @@ func TestJetStreamClusterConsumerUpdates(t *testing.T) { // AckWait checkSubsPending(t, sub, 0) cfg.AckWait = 200 * time.Millisecond - _, err = js.AddConsumer("TEST", cfg) + _, err = js.UpdateConsumer("TEST", cfg) require_NoError(t, err) checkSubsPending(t, sub, 10) // Rate Limit cfg.RateLimit = 8 * 1024 - _, err = js.AddConsumer("TEST", cfg) + _, err = js.UpdateConsumer("TEST", cfg) require_NoError(t, err) cfg.RateLimit = 0 - _, err = js.AddConsumer("TEST", cfg) + _, err = js.UpdateConsumer("TEST", cfg) require_NoError(t, err) // These all should fail. ncfg = *cfg ncfg.DeliverPolicy = nats.DeliverLastPolicy - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) ncfg = *cfg ncfg.OptStartSeq = 22 - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) ncfg = *cfg now := time.Now() ncfg.OptStartTime = &now - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) ncfg = *cfg ncfg.AckPolicy = nats.AckAllPolicy - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) ncfg = *cfg ncfg.ReplayPolicy = nats.ReplayOriginalPolicy - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) ncfg = *cfg ncfg.Heartbeat = time.Second - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) ncfg = *cfg ncfg.FlowControl = true - _, err = js.AddConsumer("TEST", &ncfg) + _, err = js.UpdateConsumer("TEST", &ncfg) require_Error(t, err) } @@ -9581,7 +9578,7 @@ func TestJetStreamClusterAccountReservations(t *testing.T) { _, err = js.AddStream(&nats.StreamConfig{Name: "S2", Subjects: []string{"s2"}, MaxBytes: 1024, Replicas: replica}) require_Error(t, err) - require_Equal(t, err.Error(), "insufficient storage resources available") + require_Equal(t, err.Error(), "nats: insufficient storage resources available") _, err = js.UpdateStream(&nats.StreamConfig{Name: "S1", Subjects: []string{"s1"}, MaxBytes: mb / 2, Replicas: replica}) require_NoError(t, err) @@ -9591,11 +9588,11 @@ func TestJetStreamClusterAccountReservations(t *testing.T) { _, err = js.AddStream(&nats.StreamConfig{Name: "S3", Subjects: []string{"s3"}, MaxBytes: 1024, Replicas: replica}) require_Error(t, err) - require_Equal(t, err.Error(), "insufficient storage resources available") + require_Equal(t, err.Error(), "nats: insufficient storage resources available") _, err = js.UpdateStream(&nats.StreamConfig{Name: "S2", Subjects: []string{"s2"}, MaxBytes: mb/2 + 1, Replicas: replica}) require_Error(t, err) - require_Equal(t, err.Error(), "insufficient storage resources available") + require_Equal(t, err.Error(), "nats: insufficient storage resources available") require_NoError(t, js.DeleteStream("S1")) require_NoError(t, js.DeleteStream("S2")) @@ -9631,7 +9628,7 @@ func TestJetStreamClusterConcurrentAccountLimits(t *testing.T) { }) if err != nil { atomic.AddInt32(&failCount, 1) - require_Equal(t, err.Error(), "insufficient storage resources available") + require_Equal(t, err.Error(), "nats: insufficient storage resources available") } } @@ -11243,7 +11240,7 @@ func TestJetStreamClusterMirrorSourceLoop(t *testing.T) { Sources: []*nats.StreamSource{{Name: "1"}}, }) require_Error(t, err) - require_Equal(t, err.Error(), "detected cycle") + require_Equal(t, err.Error(), "nats: detected cycle") } t.Run("Single", func(t *testing.T) { diff --git a/server/jetstream_jwt_test.go b/server/jetstream_jwt_test.go index 916418fd..935cba20 100644 --- a/server/jetstream_jwt_test.go +++ b/server/jetstream_jwt_test.go @@ -468,10 +468,10 @@ func TestJetStreamJWTClusteredTiers(t *testing.T) { // Test absent tiers _, err = js.AddStream(&nats.StreamConfig{Name: "testR2", Replicas: 2, Subjects: []string{"testR2"}}) require_Error(t, err) - require_Equal(t, err.Error(), "no JetStream default or applicable tiered limit present") + require_Equal(t, err.Error(), "nats: no JetStream default or applicable tiered limit present") _, err = js.AddStream(&nats.StreamConfig{Name: "testR5", Replicas: 5, Subjects: []string{"testR5"}}) require_Error(t, err) - require_Equal(t, err.Error(), "no JetStream default or applicable tiered limit present") + require_Equal(t, err.Error(), "nats: no JetStream default or applicable tiered limit present") // Test tiers up to stream limits _, err = js.AddStream(&nats.StreamConfig{Name: "testR1-1", Replicas: 1, Subjects: []string{"testR1-1"}}) @@ -484,10 +484,10 @@ func TestJetStreamJWTClusteredTiers(t *testing.T) { // Test exceeding tiered stream limit _, err = js.AddStream(&nats.StreamConfig{Name: "testR1-3", Replicas: 1, Subjects: []string{"testR1-3"}}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum number of streams reached") + require_Equal(t, err.Error(), "nats: maximum number of streams reached") _, err = js.AddStream(&nats.StreamConfig{Name: "testR3-3", Replicas: 3, Subjects: []string{"testR3-3"}}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum number of streams reached") + require_Equal(t, err.Error(), "nats: maximum number of streams reached") // Test tiers up to consumer limits _, err = js.AddConsumer("testR1-1", &nats.ConsumerConfig{Durable: "dur1", AckPolicy: nats.AckExplicitPolicy}) @@ -500,10 +500,10 @@ func TestJetStreamJWTClusteredTiers(t *testing.T) { // test exceeding tiered consumer limits _, err = js.AddConsumer("testR1-1", &nats.ConsumerConfig{Durable: "dur4", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum consumers limit reached") + require_Equal(t, err.Error(), "nats: maximum consumers limit reached") _, err = js.AddConsumer("testR1-1", &nats.ConsumerConfig{Durable: "dur5", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum consumers limit reached") + require_Equal(t, err.Error(), "nats: maximum consumers limit reached") // test tiered storage limit msg := [512]byte{} @@ -633,7 +633,7 @@ func TestJetStreamJWTClusteredTiersChange(t *testing.T) { cfg.Replicas = 3 _, err = js.UpdateStream(cfg) require_Error(t, err) - require_Equal(t, err.Error(), "insufficient storage resources available") + require_Equal(t, err.Error(), "nats: insufficient storage resources available") time.Sleep(time.Second - time.Since(start)) // make sure the time stamp changes accClaim.Limits.JetStreamTieredLimits["R3"] = jwt.JetStreamLimits{ diff --git a/server/jetstream_super_cluster_test.go b/server/jetstream_super_cluster_test.go index 6c22f716..668d0e38 100644 --- a/server/jetstream_super_cluster_test.go +++ b/server/jetstream_super_cluster_test.go @@ -1387,7 +1387,7 @@ func TestJetStreamSuperClusterOverflowPlacement(t *testing.T) { MaxBytes: 2 * 1024 * 1024 * 1024, Placement: &nats.Placement{Cluster: pcn}, }) - require_Contains(t, err.Error(), "no suitable peers for placement") + require_Contains(t, err.Error(), "nats: no suitable peers for placement") // Now test actual overflow placement. So try again with no placement designation. // This will test the peer picker's logic since they are updated at this point and the meta leader // knows it can not place it in C2. @@ -2391,7 +2391,7 @@ func TestJetStreamSuperClusterMaxHaAssets(t *testing.T) { waitStatsz(3, 1) _, err = js.AddStream(&nats.StreamConfig{Name: "S3", Replicas: 3, Placement: &nats.Placement{Cluster: "C1"}}) require_Error(t, err) - require_Contains(t, err.Error(), "no suitable peers for placement") + require_Contains(t, err.Error(), "nats: no suitable peers for placement") require_Contains(t, err.Error(), "misc: 3") require_NoError(t, js.DeleteStream("S1")) waitStatsz(3, 2) @@ -2402,7 +2402,7 @@ func TestJetStreamSuperClusterMaxHaAssets(t *testing.T) { waitStatsz(3, 1) _, err = js.AddConsumer("S2", &nats.ConsumerConfig{Durable: "DUR2", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "insufficient resources") + require_Equal(t, err.Error(), "nats: insufficient resources") _, err = js.AddConsumer("S2", &nats.ConsumerConfig{AckPolicy: nats.AckExplicitPolicy}) require_NoError(t, err) waitStatsz(3, 3) @@ -2422,10 +2422,10 @@ func TestJetStreamSuperClusterMaxHaAssets(t *testing.T) { waitStatsz(6, 3) _, err = js.AddConsumer("S4", &nats.ConsumerConfig{Durable: "DUR2", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "insufficient resources") + require_Equal(t, err.Error(), "nats: insufficient resources") _, err = js.UpdateStream(&nats.StreamConfig{Name: "S2", Replicas: 3, Placement: &nats.Placement{Cluster: "C2"}}) require_Error(t, err) - require_Contains(t, err.Error(), "no suitable peers for placement") + require_Contains(t, err.Error(), "nats: no suitable peers for placement") require_Contains(t, err.Error(), "misc: 3") } diff --git a/server/jetstream_test.go b/server/jetstream_test.go index f710f9ef..d02adf0e 100644 --- a/server/jetstream_test.go +++ b/server/jetstream_test.go @@ -11933,7 +11933,7 @@ func TestJetStreamMirrorUpdatePreventsSubjects(t *testing.T) { require_NoError(t, err) _, err = js.UpdateStream(&nats.StreamConfig{Name: "MIRROR", Mirror: &nats.StreamSource{Name: "ORIGINAL"}, Subjects: []string{"x"}}) - if err == nil || err.Error() != "stream mirrors can not contain subjects" { + if err == nil || err.Error() != "nats: stream mirrors can not contain subjects" { t.Fatalf("Expected to not be able to put subjects on a stream, got: %+v", err) } } @@ -13584,7 +13584,7 @@ func TestJetStreamNegativeDupeWindow(t *testing.T) { Replicas: 1, NoAck: false, }) - if err == nil || err.Error() != "duplicates window can not be negative" { + if err == nil || err.Error() != "nats: duplicates window can not be negative" { t.Fatalf("Expected dupe window error got: %v", err) } } @@ -14974,12 +14974,20 @@ func TestJetStreamConsumerUpdateSurvival(t *testing.T) { _, err := js.AddStream(&nats.StreamConfig{Name: "X"}) require_NoError(t, err) - // First create a consumer that is push based. - _, err = js.AddConsumer("X", &nats.ConsumerConfig{Durable: "dlc", AckPolicy: nats.AckExplicitPolicy, MaxAckPending: 1024}) + // First create a consumer with max ack pending. + _, err = js.AddConsumer("X", &nats.ConsumerConfig{ + Durable: "dlc", + AckPolicy: nats.AckExplicitPolicy, + MaxAckPending: 1024, + }) require_NoError(t, err) // Now do same name but pull. This will update the MaxAcKPending - ci, err := js.AddConsumer("X", &nats.ConsumerConfig{Durable: "dlc", AckPolicy: nats.AckExplicitPolicy, MaxAckPending: 22}) + ci, err := js.UpdateConsumer("X", &nats.ConsumerConfig{ + Durable: "dlc", + AckPolicy: nats.AckExplicitPolicy, + MaxAckPending: 22, + }) require_NoError(t, err) if ci.Config.MaxAckPending != 22 { @@ -16703,11 +16711,11 @@ func TestJetStreamLimits(t *testing.T) { _, err = js.UpdateStream(&nats.StreamConfig{Name: "bar", Duplicates: 2 * time.Minute}) require_Error(t, err) - require_Equal(t, err.Error(), "duplicates window can not be larger then server limit of 1m0s") + require_Equal(t, err.Error(), "nats: duplicates window can not be larger then server limit of 1m0s") _, err = js.AddStream(&nats.StreamConfig{Name: "baz", Duplicates: 2 * time.Minute}) require_Error(t, err) - require_Equal(t, err.Error(), "duplicates window can not be larger then server limit of 1m0s") + require_Equal(t, err.Error(), "nats: duplicates window can not be larger then server limit of 1m0s") ci, err := js.AddConsumer("foo", &nats.ConsumerConfig{Durable: "dur1", AckPolicy: nats.AckExplicitPolicy}) require_NoError(t, err) @@ -16716,7 +16724,7 @@ func TestJetStreamLimits(t *testing.T) { _, err = js.AddConsumer("foo", &nats.ConsumerConfig{Durable: "dur2", AckPolicy: nats.AckExplicitPolicy, MaxRequestBatch: 500}) require_Error(t, err) - require_Equal(t, err.Error(), "consumer max request batch exceeds server limit of 250") + require_Equal(t, err.Error(), "nats: consumer max request batch exceeds server limit of 250") ci, err = js.AddConsumer("foo", &nats.ConsumerConfig{Durable: "dur2", AckPolicy: nats.AckExplicitPolicy, MaxAckPending: 500}) require_NoError(t, err) @@ -16725,11 +16733,11 @@ func TestJetStreamLimits(t *testing.T) { _, err = js.UpdateConsumer("foo", &nats.ConsumerConfig{Durable: "dur2", AckPolicy: nats.AckExplicitPolicy, MaxAckPending: 2000}) require_Error(t, err) - require_Equal(t, err.Error(), "consumer max ack pending exceeds system limit of 1000") + require_Equal(t, err.Error(), "nats: consumer max ack pending exceeds system limit of 1000") _, err = js.AddConsumer("foo", &nats.ConsumerConfig{Durable: "dur3", AckPolicy: nats.AckExplicitPolicy, MaxAckPending: 2000}) require_Error(t, err) - require_Equal(t, err.Error(), "consumer max ack pending exceeds system limit of 1000") + require_Equal(t, err.Error(), "nats: consumer max ack pending exceeds system limit of 1000") } t.Run("clustered", func(t *testing.T) { @@ -18757,10 +18765,8 @@ func TestJetStreamMirrorUpdatesNotSupported(t *testing.T) { require_NoError(t, err) cfg.Mirror = nil - if _, err := js.UpdateStream(cfg); err == nil || - !strings.Contains(NewJSStreamMirrorNotUpdatableError().Error(), err.Error()) { - t.Fatalf("Expected error %q, got %q", NewJSStreamMirrorNotUpdatableError(), err) - } + _, err = js.UpdateStream(cfg) + require_Error(t, err, NewJSStreamMirrorNotUpdatableError()) } func TestJetStreamDirectGetBySubject(t *testing.T) { diff --git a/server/jwt_test.go b/server/jwt_test.go index 251dfd6d..15fa4f71 100644 --- a/server/jwt_test.go +++ b/server/jwt_test.go @@ -5514,7 +5514,7 @@ func TestJWTJetStreamTiers(t *testing.T) { // Test exceeding tiered stream limit _, err = js.AddStream(&nats.StreamConfig{Name: "testR1-3", Replicas: 1, Subjects: []string{"testR1-3"}}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum number of streams reached") + require_Equal(t, err.Error(), "nats: maximum number of streams reached") // Test tiers up to consumer limits _, err = js.AddConsumer("testR1-1", &nats.ConsumerConfig{Durable: "dur1", AckPolicy: nats.AckExplicitPolicy}) @@ -5525,10 +5525,10 @@ func TestJWTJetStreamTiers(t *testing.T) { // test exceeding tiered consumer limits _, err = js.AddConsumer("testR1-1", &nats.ConsumerConfig{Durable: "dur4", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum consumers limit reached") + require_Equal(t, err.Error(), "nats: maximum consumers limit reached") _, err = js.AddConsumer("testR1-1", &nats.ConsumerConfig{Durable: "dur5", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum consumers limit reached") + require_Equal(t, err.Error(), "nats: maximum consumers limit reached") // test tiered storage limit msg := [512]byte{} @@ -5553,12 +5553,12 @@ func TestJWTJetStreamTiers(t *testing.T) { require_NoError(t, err) _, err = js.AddStream(&nats.StreamConfig{Name: "testR1-4", Replicas: 1, Subjects: []string{"testR1-4"}}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum number of streams reached") + require_Equal(t, err.Error(), "nats: maximum number of streams reached") _, err = js.AddConsumer("testR1-3", &nats.ConsumerConfig{Durable: "dur6", AckPolicy: nats.AckExplicitPolicy}) require_NoError(t, err) _, err = js.AddConsumer("testR1-3", &nats.ConsumerConfig{Durable: "dur7", AckPolicy: nats.AckExplicitPolicy}) require_Error(t, err) - require_Equal(t, err.Error(), "maximum consumers limit reached") + require_Equal(t, err.Error(), "nats: maximum consumers limit reached") _, err = js.Publish("testR1-3", msg[:]) require_NoError(t, err) _, err = js.Publish("testR1-3", []byte("1")) @@ -5624,7 +5624,7 @@ func TestJWTJetStreamMaxAckPending(t *testing.T) { _, err = js.AddConsumer("foo", &nats.ConsumerConfig{ Durable: "dur1", AckPolicy: nats.AckAllPolicy, MaxAckPending: 2000}) require_Error(t, err) - require_Equal(t, err.Error(), "consumer max ack pending exceeds system limit of 1000") + require_Equal(t, err.Error(), "nats: consumer max ack pending exceeds system limit of 1000") ci, err := js.AddConsumer("foo", &nats.ConsumerConfig{ Durable: "dur2", AckPolicy: nats.AckAllPolicy, MaxAckPending: 500}) @@ -5634,7 +5634,7 @@ func TestJWTJetStreamMaxAckPending(t *testing.T) { _, err = js.UpdateConsumer("foo", &nats.ConsumerConfig{ Durable: "dur2", AckPolicy: nats.AckAllPolicy, MaxAckPending: 2000}) require_Error(t, err) - require_Equal(t, err.Error(), "consumer max ack pending exceeds system limit of 1000") + require_Equal(t, err.Error(), "nats: consumer max ack pending exceeds system limit of 1000") time.Sleep(time.Second - time.Since(start)) // make sure the time stamp changes accClaim.Limits.JetStreamTieredLimits["R1"] = jwt.JetStreamLimits{ @@ -5703,7 +5703,7 @@ func TestJWTJetStreamMaxStreamBytes(t *testing.T) { _, err = js.AddStream(&nats.StreamConfig{Name: "foo", Replicas: 1, MaxBytes: 2048}) require_Error(t, err) - require_Equal(t, err.Error(), "stream max bytes exceeds account limit max stream bytes") + require_Equal(t, err.Error(), "nats: stream max bytes exceeds account limit max stream bytes") _, err = js.AddStream(&nats.StreamConfig{Name: "foo", Replicas: 1, MaxBytes: 1024}) require_NoError(t, err) @@ -5725,7 +5725,7 @@ func TestJWTJetStreamMaxStreamBytes(t *testing.T) { _, err = js.AddStream(&nats.StreamConfig{Name: "bar", Replicas: 1, MaxBytes: 3000}) require_Error(t, err) - require_Equal(t, err.Error(), "stream max bytes exceeds account limit max stream bytes") + require_Equal(t, err.Error(), "nats: stream max bytes exceeds account limit max stream bytes") _, err = js.AddStream(&nats.StreamConfig{Name: "bar", Replicas: 1, MaxBytes: 2048}) require_NoError(t, err) @@ -5739,7 +5739,7 @@ func TestJWTJetStreamMaxStreamBytes(t *testing.T) { // test disabling max bytes required _, err = js.UpdateStream(&nats.StreamConfig{Name: "bar", Replicas: 1}) require_Error(t, err) - require_Equal(t, err.Error(), "account requires a stream config to have max bytes set") + require_Equal(t, err.Error(), "nats: account requires a stream config to have max bytes set") } func TestJWTQueuePermissions(t *testing.T) { diff --git a/server/norace_test.go b/server/norace_test.go index 1b3eee12..ecf36fd4 100644 --- a/server/norace_test.go +++ b/server/norace_test.go @@ -3344,7 +3344,11 @@ func TestNoRaceJetStreamClusterInterestPolicyAckNone(t *testing.T) { atomic.AddUint32(&received, 1) } - _, err = js.Subscribe("cluster.created", mh, nats.Durable(test.durable), nats.DeliverNew(), nats.AckNone()) + opts := []nats.SubOpt{nats.DeliverNew(), nats.AckNone()} + if test.durable != _EMPTY_ { + opts = append(opts, nats.Durable(test.durable)) + } + _, err = js.Subscribe("cluster.created", mh, opts...) if err != nil { t.Fatalf("Unexepected error: %v", err) } diff --git a/server/test_test.go b/server/test_test.go index 9cb4c0c2..8b757193 100644 --- a/server/test_test.go +++ b/server/test_test.go @@ -98,8 +98,15 @@ func require_Error(t *testing.T, err error, expected ...error) { if len(expected) == 0 { return } + // Try to strip nats prefix from Go library if present. + const natsErrPre = "nats: " + eStr := err.Error() + if strings.HasPrefix(eStr, natsErrPre) { + eStr = strings.Replace(eStr, natsErrPre, _EMPTY_, 1) + } + for _, e := range expected { - if err == e || strings.Contains(e.Error(), err.Error()) { + if err == e || strings.Contains(e.Error(), eStr) { return } }