github.com/status-im/status-go@v1.1.0/metrics/node/metrics_test.go (about)

     1  package node
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	prom "github.com/prometheus/client_golang/prometheus"
     9  )
    10  
    11  func TestParsingLabelsFromNodeName(t *testing.T) {
    12  	var labels prom.Labels
    13  	var err error
    14  
    15  	// mobile name
    16  	labels, err = labelsFromNodeName("StatusIM/v0.30.1-beta.2/android-arm/go1.12")
    17  	require.NoError(t, err)
    18  	require.Equal(t, labels,
    19  		prom.Labels{
    20  			"platform": "android-arm",
    21  			"type":     "StatusIM",
    22  			"version":  "v0.30.1-beta.2",
    23  		})
    24  	// desktop name
    25  	labels, err = labelsFromNodeName("Statusd/v0.29.0-beta.2/linux-amd64/go1.11")
    26  	require.NoError(t, err)
    27  	require.Equal(t, labels,
    28  		prom.Labels{
    29  			"platform": "linux-amd64",
    30  			"type":     "Statusd",
    31  			"version":  "v0.29.0-beta.2",
    32  		})
    33  	// missing version
    34  	labels, err = labelsFromNodeName("StatusIM/android-arm64/go1.11")
    35  	require.NoError(t, err)
    36  	require.Equal(t, labels,
    37  		prom.Labels{
    38  			"platform": "android-arm64",
    39  			"type":     "StatusIM",
    40  			"version":  "unknown",
    41  		})
    42  }