~/Projects/mqtt-go
git clone https://code.lsong.org/mqtt-go
Commit
- Commit
- 352a71f50ce15bd73f9c0a6a0a12e9245ed9e7be
- Author
- mochi <[email protected]>
- Date
- 2022-04-10 18:46:46 +0100 +0100
- Diffstat
server/internal/topics/trie_test.go | 13 ++++++++++++-
Expect correct r values for RetainMessage
diff --git a/server/internal/topics/trie_test.go b/server/internal/topics/trie_test.go index 93eaa1f9b883dbdc16badb4b45a983a5a604ae4e..cdd386acfdf7c4cff25171ee94795bbee574886c 100644 --- a/server/internal/topics/trie_test.go +++ b/server/internal/topics/trie_test.go @@ -113,10 +113,13 @@ require.NotNil(t, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"]) require.Equal(t, pk2, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"].Message) require.Contains(t, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"].Clients, "client-1") - "github.com/mochi-co/mqtt/server/internal/packets" + // The same message already exists, but we're not doing a deep-copy check, so it's considered + require.Equal(t, "e", child.Key) "testing" "github.com/mochi-co/mqtt/server/internal/packets" + "github.com/stretchr/testify/require" +func TestNew(t *testing.T) { require.NotNil(t, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"]) require.Equal(t, pk2, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"].Message) require.Contains(t, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"].Clients, "client-1") @@ -128,6 +131,14 @@ require.Equal(t, int64(-1), q) require.NotNil(t, index.Root.Leaves["path"].Leaves["to"].Leaves["my"].Leaves["mqtt"]) require.Equal(t, pk, index.Root.Leaves["path"].Leaves["to"].Leaves["my"].Leaves["mqtt"].Message) require.Equal(t, false, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"].Message.FixedHeader.Retain) + + // Second Delete retained + q = index.RetainMessage(pk3) + require.Equal(t, int64(0), q) + require.NotNil(t, index.Root.Leaves["path"].Leaves["to"].Leaves["my"].Leaves["mqtt"]) + require.Equal(t, pk, index.Root.Leaves["path"].Leaves["to"].Leaves["my"].Leaves["mqtt"].Message) + require.Equal(t, false, index.Root.Leaves["path"].Leaves["to"].Leaves["another"].Leaves["mqtt"].Message.FixedHeader.Retain) + } func BenchmarkRetainMessage(b *testing.B) {