github.com/mackerelio/mackerel-agent-plugins@v0.89.3/mackerel-plugin-rabbitmq/lib/rabbitmq_test.go (about)

     1  package mprabbitmq
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  
     7  	"github.com/michaelklishin/rabbit-hole"
     8  	"github.com/stretchr/testify/assert"
     9  )
    10  
    11  func TestGraphDefinition(t *testing.T) {
    12  	var rabbitmq RabbitMQPlugin
    13  
    14  	graphdef := rabbitmq.GraphDefinition()
    15  	if len(graphdef) != 2 {
    16  		t.Errorf("GetTempfilename: %d should be 2", len(graphdef))
    17  	}
    18  }
    19  
    20  func TestParse(t *testing.T) {
    21  	var rabbitmq RabbitMQPlugin
    22  
    23  	var stub rabbithole.Overview
    24  	stub.QueueTotals.Messages = 1
    25  	stub.QueueTotals.MessagesReady = 2
    26  	stub.QueueTotals.MessagesUnacknowledged = 3
    27  	stub.MessageStats.PublishDetails.Rate = 4
    28  
    29  	stat, err := rabbitmq.parseStats(stub)
    30  
    31  	assert.Nil(t, err)
    32  	assert.EqualValues(t, reflect.TypeOf(stat["messages"]).String(), "float64")
    33  	assert.EqualValues(t, stat["messages"], 1)
    34  	assert.EqualValues(t, reflect.TypeOf(stat["publish"]).String(), "float64")
    35  	assert.EqualValues(t, stat["publish"], 4)
    36  }