1
0
Fork 0
mirror of https://code.forgejo.org/forgejo/runner.git synced 2025-08-06 17:40:58 +00:00
forgejo-runner/internal/pkg/labels/labels_test.go
Earl Warren f0090d8ac7
fix!: default to node:22-bookworm instead of node:20-bullseye (#686)
Closes forgejo/runner#134

Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/686
Reviewed-by: Michael Kriese <michael.kriese@gmx.de>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
2025-07-12 09:36:58 +00:00

99 lines
1.5 KiB
Go

// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package labels
import (
"testing"
"github.com/stretchr/testify/require"
"gotest.tools/v3/assert"
)
func TestParse(t *testing.T) {
tests := []struct {
args string
want *Label
wantErr bool
}{
{
args: "label1",
want: &Label{
Name: "label1",
Schema: SchemeDocker,
Arg: ArgDocker,
},
wantErr: false,
},
{
args: "label1:docker",
want: &Label{
Name: "label1",
Schema: SchemeDocker,
Arg: ArgDocker,
},
wantErr: false,
},
{
args: "label1:docker://node:18",
want: &Label{
Name: "label1",
Schema: SchemeDocker,
Arg: "//node:18",
},
wantErr: false,
},
{
args: "label1:lxc",
want: &Label{
Name: "label1",
Schema: SchemeLXC,
Arg: ArgLXC,
},
wantErr: false,
},
{
args: "label1:lxc://debian:buster",
want: &Label{
Name: "label1",
Schema: SchemeLXC,
Arg: "//debian:buster",
},
wantErr: false,
},
{
args: "label1:host",
want: &Label{
Name: "label1",
Schema: "host",
Arg: "",
},
wantErr: false,
},
{
args: "label1:host:something",
want: nil,
wantErr: true,
},
{
args: "label1:invalidscheme",
want: nil,
wantErr: true,
},
}
for _, tt := range tests {
t.Run(tt.args, func(t *testing.T) {
got, err := Parse(tt.args)
if tt.wantErr {
require.Error(t, err)
return
}
require.NoError(t, err)
assert.DeepEqual(t, got, tt.want)
})
}
}