Go · 763 bytes Raw Blame History
1 // SPDX-License-Identifier: AGPL-3.0-or-later
2
3 package runnerlabels_test
4
5 import (
6 "reflect"
7 "testing"
8
9 "github.com/tenseleyFlow/shithub/internal/actions/runnerlabels"
10 )
11
12 func TestParseCSV(t *testing.T) {
13 got, err := runnerlabels.ParseCSV(" self-hosted, linux,linux,ubuntu-24.04 ")
14 if err != nil {
15 t.Fatalf("ParseCSV: %v", err)
16 }
17 want := []string{"self-hosted", "linux", "ubuntu-24.04"}
18 if !reflect.DeepEqual(got, want) {
19 t.Fatalf("labels: got %#v, want %#v", got, want)
20 }
21 }
22
23 func TestNormalizeRejectsInvalidLabels(t *testing.T) {
24 for _, labels := range [][]string{
25 {"linux", ""},
26 {"has space"},
27 {"semi;colon"},
28 } {
29 if _, err := runnerlabels.Normalize(labels); err == nil {
30 t.Fatalf("Normalize(%#v) returned nil error", labels)
31 }
32 }
33 }
34