package activemq import ( "encoding/xml" "testing" "github.com/influxdata/telegraf/testutil" ) func TestGatherQueuesMetrics(t *testing.T) { s := ` queueBrowse/sandra?view=rss&feedType=atom_1.0 queueBrowse/sandra?view=rss&feedType=rss_2.0 queueBrowse/Test?view=rss&feedType=atom_1.0 queueBrowse/Test?view=rss&feedType=rss_2.0 ` queues := Queues{} xml.Unmarshal([]byte(s), &queues) records := make(map[string]interface{}) tags := make(map[string]string) tags["name"] = "Test" tags["source"] = "localhost" tags["port"] = "8161" records["size"] = 0 records["consumer_count"] = 0 records["enqueue_count"] = 0 records["dequeue_count"] = 0 var acc testutil.Accumulator activeMQ := new(ActiveMQ) activeMQ.Server = "localhost" activeMQ.Port = 8161 activeMQ.GatherQueuesMetrics(&acc, queues) acc.AssertContainsTaggedFields(t, "activemq_queues", records, tags) } func TestGatherTopicsMetrics(t *testing.T) { s := ` ` topics := Topics{} xml.Unmarshal([]byte(s), &topics) records := make(map[string]interface{}) tags := make(map[string]string) tags["name"] = "ActiveMQ.Advisory.MasterBroker " tags["source"] = "localhost" tags["port"] = "8161" records["size"] = 0 records["consumer_count"] = 0 records["enqueue_count"] = 1 records["dequeue_count"] = 0 var acc testutil.Accumulator activeMQ := new(ActiveMQ) activeMQ.Server = "localhost" activeMQ.Port = 8161 activeMQ.GatherTopicsMetrics(&acc, topics) acc.AssertContainsTaggedFields(t, "activemq_topics", records, tags) } func TestGatherSubscribersMetrics(t *testing.T) { s := ` ` subscribers := Subscribers{} xml.Unmarshal([]byte(s), &subscribers) records := make(map[string]interface{}) tags := make(map[string]string) tags["client_id"] = "AAA" tags["subscription_name"] = "AAA" tags["connection_id"] = "NOTSET" tags["destination_name"] = "AAA" tags["selector"] = "AA" tags["active"] = "no" tags["source"] = "localhost" tags["port"] = "8161" records["pending_queue_size"] = 0 records["dispatched_queue_size"] = 0 records["dispatched_counter"] = 0 records["enqueue_counter"] = 0 records["dequeue_counter"] = 0 var acc testutil.Accumulator activeMQ := new(ActiveMQ) activeMQ.Server = "localhost" activeMQ.Port = 8161 activeMQ.GatherSubscribersMetrics(&acc, subscribers) acc.AssertContainsTaggedFields(t, "activemq_subscribers", records, tags) }