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 }