diff --git a/common/uuid/uuid.go b/common/uuid/uuid.go index e2c34b65..f15db81f 100644 --- a/common/uuid/uuid.go +++ b/common/uuid/uuid.go @@ -39,8 +39,9 @@ func (this *UUID) Next() *UUID { md5hash := md5.New() md5hash.Write(this.Bytes()) md5hash.Write([]byte("16167dc8-16b6-4e6d-b8bb-65dd68113a81")) + newid := new(UUID) for { - newid, _ := ParseBytes(md5hash.Sum(nil)) + md5hash.Sum(newid[:0]) if !newid.Equals(this) { return newid } diff --git a/common/uuid/uuid_test.go b/common/uuid/uuid_test.go index dac56d6b..e5d7d9b8 100644 --- a/common/uuid/uuid_test.go +++ b/common/uuid/uuid_test.go @@ -59,3 +59,11 @@ func TestEquals(t *testing.T) { assert.Bool(uuid.Equals(uuid2)).IsTrue() assert.Bool(uuid.Equals(New())).IsFalse() } + +func TestNext(t *testing.T) { + v2testing.Current(t) + + uuid := New() + uuid2 := uuid.Next() + assert.Bool(uuid.Equals(uuid2)).IsFalse() +}