Skip to content
Snippets Groups Projects
Select Git revision
  • 869f4dd1ceefb410accfc9844df4c49889053547
  • develop default protected
  • congestioncontrol
  • merge-v-data-collection-spammer-0.8.2
  • WIP-merge-v-data-collection-spammer-0.8.2
  • merge-v-data-collection-spammer-0.7.7
  • tmp
  • test-masterpow-fixing
  • test-masterpow
  • test-echo
  • v-data-collection
  • v-data-collection-spammer
  • tmp-dump-spam-info
  • dump-msg-info-0.3.1
  • test-dump-message-info
  • spammer-exprandom
  • extra/tutorial
  • without_tipselection
  • hacking-docker-network
  • hacking-docker-network-0.2.3
  • master
  • v0.2.3
22 results

consumer.go

Blame
  • message_test.go 1.52 KiB
    package metrics
    
    import (
    	"sync"
    	"testing"
    
    	valuepayload "github.com/iotaledger/goshimmer/dapps/valuetransfers/packages/payload"
    	drngpayload "github.com/iotaledger/goshimmer/packages/binary/drng/payload"
    	"github.com/iotaledger/goshimmer/packages/binary/messagelayer/payload"
    	"github.com/iotaledger/goshimmer/packages/metrics"
    	"github.com/iotaledger/goshimmer/plugins/messagelayer"
    	"github.com/iotaledger/hive.go/events"
    	"github.com/magiconair/properties/assert"
    )
    
    func TestMessageCountPerPayload(t *testing.T) {
    	// it is empty initially
    	assert.Equal(t, MessageTotalCount(), (uint64)(0))
    	// simulate attaching 10 value payloads in 0s < t < 1s
    	for i := 0; i < 10; i++ {
    		increasePerPayloadCounter(valuepayload.Type)
    	}
    	assert.Equal(t, MessageTotalCount(), (uint64)(10))
    	assert.Equal(t, MessageCountPerPayload(), map[payload.Type]uint64{valuepayload.Type: 10})
    	// simulate attaching 5 drng payloads
    	for i := 0; i < 5; i++ {
    		increasePerPayloadCounter(drngpayload.Type)
    	}
    	assert.Equal(t, MessageTotalCount(), (uint64)(15))
    	assert.Equal(t, MessageCountPerPayload(), map[payload.Type]uint64{valuepayload.Type: 10, drngpayload.Type: 5})
    }
    
    func TestMessageTips(t *testing.T) {
    	var wg sync.WaitGroup
    	// messagelayer TipSelector not configured here, so to avoid nil pointer panic, we instantiate it
    	messagelayer.TipSelector()
    	metrics.Events().MessageTips.Attach(events.NewClosure(func(tips uint64) {
    		messageTips.Store(tips)
    		wg.Done()
    	}))
    	wg.Add(1)
    	measureMessageTips()
    	wg.Wait()
    	assert.Equal(t, MessageTips(), (uint64)(0))
    }