@@ -428,8 +428,10 @@ func TestSilenceSet(t *testing.T) {
428428 StartsAt : start1 .Add (2 * time .Minute ),
429429 EndsAt : start1 .Add (5 * time .Minute ),
430430 }
431+ versionBeforeOp := s .Version ()
431432 require .NoError (t , s .Set (sil1 ))
432433 require .NotEqual (t , "" , sil1 .Id )
434+ require .NotEqual (t , versionBeforeOp , s .Version ())
433435
434436 want := state {
435437 sil1 .Id : & pb.MeshSilence {
@@ -453,8 +455,10 @@ func TestSilenceSet(t *testing.T) {
453455 Matchers : []* pb.Matcher {{Name : "a" , Pattern : "b" }},
454456 EndsAt : start2 .Add (1 * time .Minute ),
455457 }
458+ versionBeforeOp = s .Version ()
456459 require .NoError (t , s .Set (sil2 ))
457460 require .NotEqual (t , "" , sil2 .Id )
461+ require .NotEqual (t , versionBeforeOp , s .Version ())
458462
459463 want = state {
460464 sil1 .Id : want [sil1 .Id ],
@@ -474,22 +478,27 @@ func TestSilenceSet(t *testing.T) {
474478 // Should be able to update silence without modifications. It is expected to
475479 // keep the same ID.
476480 sil3 := cloneSilence (sil2 )
481+ versionBeforeOp = s .Version ()
477482 require .NoError (t , s .Set (sil3 ))
478483 require .Equal (t , sil2 .Id , sil3 .Id )
484+ require .Equal (t , versionBeforeOp , s .Version ())
479485
480486 // Should be able to update silence with comment. It is also expected to
481487 // keep the same ID.
482488 sil4 := cloneSilence (sil3 )
483489 sil4 .Comment = "c"
490+ versionBeforeOp = s .Version ()
484491 require .NoError (t , s .Set (sil4 ))
485492 require .Equal (t , sil3 .Id , sil4 .Id )
493+ require .Equal (t , versionBeforeOp , s .Version ())
486494
487495 // Extend sil4 to expire at a later time. This should not expire the
488496 // existing silence, and so should also keep the same ID.
489497 clock .Advance (time .Minute )
490498 start5 := s .nowUTC ()
491499 sil5 := cloneSilence (sil4 )
492500 sil5 .EndsAt = start5 .Add (100 * time .Minute )
501+ versionBeforeOp = s .Version ()
493502 require .NoError (t , s .Set (sil5 ))
494503 require .Equal (t , sil4 .Id , sil5 .Id )
495504 want = state {
@@ -507,6 +516,7 @@ func TestSilenceSet(t *testing.T) {
507516 },
508517 }
509518 require .Equal (t , want , s .st , "unexpected state after silence creation" )
519+ require .Equal (t , versionBeforeOp , s .Version ())
510520
511521 // Replace the silence sil5 with another silence with different matchers.
512522 // Unlike previous updates, changing the matchers for an existing silence
@@ -518,6 +528,7 @@ func TestSilenceSet(t *testing.T) {
518528
519529 sil6 := cloneSilence (sil5 )
520530 sil6 .Matchers = []* pb.Matcher {{Name : "a" , Pattern : "c" }}
531+ versionBeforeOp = s .Version ()
521532 require .NoError (t , s .Set (sil6 ))
522533 require .NotEqual (t , sil5 .Id , sil6 .Id )
523534 want = state {
@@ -546,6 +557,7 @@ func TestSilenceSet(t *testing.T) {
546557 },
547558 }
548559 require .Equal (t , want , s .st , "unexpected state after silence creation" )
560+ require .NotEqual (t , versionBeforeOp , s .Version ())
549561
550562 // Re-create the silence that we just replaced. Changing the start time,
551563 // just like changing the matchers, creates a new silence with a different
@@ -555,6 +567,7 @@ func TestSilenceSet(t *testing.T) {
555567 sil7 := cloneSilence (sil5 )
556568 sil7 .StartsAt = start1
557569 sil7 .EndsAt = start1 .Add (5 * time .Minute )
570+ versionBeforeOp = s .Version ()
558571 require .NoError (t , s .Set (sil7 ))
559572 require .NotEqual (t , sil2 .Id , sil7 .Id )
560573 want = state {
@@ -574,19 +587,22 @@ func TestSilenceSet(t *testing.T) {
574587 },
575588 }
576589 require .Equal (t , want , s .st , "unexpected state after silence creation" )
590+ require .NotEqual (t , versionBeforeOp , s .Version ())
577591
578592 // Updating an existing silence with an invalid silence should not expire
579593 // the original silence.
580594 clock .Advance (time .Millisecond )
581595 sil8 := cloneSilence (sil7 )
582596 sil8 .EndsAt = time.Time {}
597+ versionBeforeOp = s .Version ()
583598 require .EqualError (t , s .Set (sil8 ), "invalid silence: invalid zero end timestamp" )
584599
585600 // sil7 should not be expired because the update failed.
586601 clock .Advance (time .Millisecond )
587602 sil7 , err = s .QueryOne (QIDs (sil7 .Id ))
588603 require .NoError (t , err )
589604 require .Equal (t , types .SilenceStateActive , getState (sil7 , s .nowUTC ()))
605+ require .Equal (t , versionBeforeOp , s .Version ())
590606}
591607
592608func TestSilenceLimits (t * testing.T ) {
0 commit comments