package accelerator
import (
"reflect"
"testing"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"openfuyao.com/npu-feature-discovery/internal/lm/common"
)
func TestNewAcceleratorLabeler(t *testing.T) {
type args struct {
node *corev1.Node
}
tests := []struct {
name string
args args
want common.Labeler
}{
{
name: "test unknown type",
args: args{
&corev1.Node{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
"placeholder": "no accelerator",
},
},
},
},
want: common.Labels{AcceleratorLabelKey: "unknown"},
},
{
name: "test single accelerator",
args: args{
&corev1.Node{
ObjectMeta: metav1.ObjectMeta{
Labels: map[string]string{
common.NpuDeviceLabelPrefix + "d100.present": "huawei-Ascend310",
},
},
},
},
want: common.Labels{AcceleratorLabelKey: "huawei-Ascend310"},
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := NewAcceleratorLabeler(tt.args.node); !reflect.DeepEqual(got, tt.want) {
t.Errorf("newAcceleratorLabeler() = %v, want %v", got, tt.want)
}
})
}
}