test: Improve coverage for persistentvolume annotation/label related metrics
Signed-off-by: Arunprasad Rajkumar <arajkuma@redhat.com>
This commit is contained in:
parent
31b2fff8bd
commit
b00b1994ce
|
|
@ -480,10 +480,76 @@ func TestPersistentVolumeStore(t *testing.T) {
|
||||||
`,
|
`,
|
||||||
MetricNames: []string{"kube_persistentvolume_capacity_bytes"},
|
MetricNames: []string{"kube_persistentvolume_capacity_bytes"},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
AllowAnnotationsList: []string{
|
||||||
|
"app.k8s.io/owner",
|
||||||
|
},
|
||||||
|
AllowLabelsList: []string{
|
||||||
|
"app",
|
||||||
|
},
|
||||||
|
Obj: &v1.PersistentVolume{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "test-allowlisted-labels-annotations",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
"app.k8s.io/owner": "mysql-server",
|
||||||
|
"foo": "bar",
|
||||||
|
},
|
||||||
|
Labels: map[string]string{
|
||||||
|
"app": "mysql-server",
|
||||||
|
"hello": "world",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Status: v1.PersistentVolumeStatus{
|
||||||
|
Phase: v1.VolumePending,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Want: `
|
||||||
|
# HELP kube_persistentvolume_annotations Kubernetes annotations converted to Prometheus labels.
|
||||||
|
# HELP kube_persistentvolume_labels Kubernetes labels converted to Prometheus labels.
|
||||||
|
# TYPE kube_persistentvolume_annotations gauge
|
||||||
|
# TYPE kube_persistentvolume_labels gauge
|
||||||
|
kube_persistentvolume_annotations{annotation_app_k8s_io_owner="mysql-server",persistentvolume="test-allowlisted-labels-annotations"} 1
|
||||||
|
kube_persistentvolume_labels{label_app="mysql-server",persistentvolume="test-allowlisted-labels-annotations"} 1
|
||||||
|
`,
|
||||||
|
MetricNames: []string{
|
||||||
|
"kube_persistentvolume_annotations",
|
||||||
|
"kube_persistentvolume_labels",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Obj: &v1.PersistentVolume{
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "test-defaul-labels-annotations",
|
||||||
|
Annotations: map[string]string{
|
||||||
|
"app.k8s.io/owner": "mysql-server",
|
||||||
|
"foo": "bar",
|
||||||
|
},
|
||||||
|
Labels: map[string]string{
|
||||||
|
"app": "mysql-server",
|
||||||
|
"hello": "world",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Status: v1.PersistentVolumeStatus{
|
||||||
|
Phase: v1.VolumePending,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Want: `
|
||||||
|
# HELP kube_persistentvolume_annotations Kubernetes annotations converted to Prometheus labels.
|
||||||
|
# HELP kube_persistentvolume_labels Kubernetes labels converted to Prometheus labels.
|
||||||
|
# TYPE kube_persistentvolume_annotations gauge
|
||||||
|
# TYPE kube_persistentvolume_labels gauge
|
||||||
|
kube_persistentvolume_annotations{persistentvolume="test-defaul-labels-annotations"} 1
|
||||||
|
kube_persistentvolume_labels{persistentvolume="test-defaul-labels-annotations"} 1
|
||||||
|
`,
|
||||||
|
MetricNames: []string{
|
||||||
|
"kube_persistentvolume_annotations",
|
||||||
|
"kube_persistentvolume_labels",
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
for i, c := range cases {
|
for i, c := range cases {
|
||||||
c.Func = generator.ComposeMetricGenFuncs(persistentVolumeMetricFamilies(nil, nil))
|
c.Func = generator.ComposeMetricGenFuncs(persistentVolumeMetricFamilies(c.AllowAnnotationsList, c.AllowLabelsList))
|
||||||
c.Headers = generator.ExtractMetricFamilyHeaders(persistentVolumeMetricFamilies(nil, nil))
|
c.Headers = generator.ExtractMetricFamilyHeaders(persistentVolumeMetricFamilies(c.AllowAnnotationsList, c.AllowLabelsList))
|
||||||
if err := c.run(); err != nil {
|
if err := c.run(); err != nil {
|
||||||
t.Errorf("unexpected collecting result in %vth run:\n%s", i, err)
|
t.Errorf("unexpected collecting result in %vth run:\n%s", i, err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue