runner/internal/app/cmd/register_test.go
Christopher Homberger 67acfa9ce0
fix: invalid label NoInteractive exit code
* add test
* return validation error not nil from function

Reviewed-on: https://gitea.com/gitea/act_runner/pulls/683
Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com>
Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Co-committed-by: Christopher Homberger <christopher.homberger@web.de>
(cherry picked from commit f0b5aff3bbeda469a682fe21144c16485ea2189a)

Conflicts:
	internal/app/cmd/register_test.go
  trivial context conflict
2025-08-16 12:33:21 +02:00

42 lines
989 B
Go

// Copyright 2025 The Forgejo Authors
// SPDX-License-Identifier: MIT
package cmd
import (
"slices"
"testing"
"github.com/stretchr/testify/assert"
)
func TestCommaSplit(t *testing.T) {
tests := []struct {
input string
expected []string
}{
{"", []string{}},
{"abc", []string{"abc"}},
{"abc,def", []string{"abc", "def"}},
{"abc, def", []string{"abc", "def"}},
{" abc , def ", []string{"abc", "def"}},
{"abc, ,def", []string{"abc", "def"}},
{" , , ", []string{}},
}
for _, test := range tests {
result := commaSplit(test.input)
if !slices.Equal(result, test.expected) {
t.Errorf("commaSplit(%q) = %v, want %v", test.input, result, test.expected)
}
}
}
func TestRegisterNonInteractiveReturnsLabelValidationError(t *testing.T) {
err := registerNoInteractive(t.Context(), "", &registerArgs{
Labels: "label:invalid",
Token: "token",
InstanceAddr: "http://localhost:3000",
})
assert.Error(t, err, "unsupported schema: invalid")
}