all: fix staticcheck SA4006 in types_test.go

Use new(users["name"]) instead of extracting to intermediate
variables that staticcheck does not recognise as used with
Go 1.26 new(value) syntax.

Updates #3058
This commit is contained in:
Kristoffer Dalby
2026-02-17 09:02:25 +00:00
parent 43afeedde2
commit eccf64eb58

View File

@@ -1848,14 +1848,6 @@ func TestResolvePolicy(t *testing.T) {
"testuser2": {Model: gorm.Model{ID: 6}, Name: "testuser2"}, "testuser2": {Model: gorm.Model{ID: 6}, Name: "testuser2"},
} }
// Extract users to variables so we can take their addresses
testuser := users["testuser"]
groupuser := users["groupuser"]
groupuser1 := users["groupuser1"]
groupuser2 := users["groupuser2"]
notme := users["notme"]
testuser2 := users["testuser2"]
tests := []struct { tests := []struct {
name string name string
nodes types.Nodes nodes types.Nodes
@@ -1885,27 +1877,27 @@ func TestResolvePolicy(t *testing.T) {
nodes: types.Nodes{ nodes: types.Nodes{
// Not matching other user // Not matching other user
{ {
User: new(notme), User: new(users["notme"]),
IPv4: ap("100.100.101.1"), IPv4: ap("100.100.101.1"),
}, },
// Not matching forced tags // Not matching forced tags
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:anything"}, Tags: []string{"tag:anything"},
IPv4: ap("100.100.101.2"), IPv4: ap("100.100.101.2"),
}, },
// not matching because it's tagged (tags copied from AuthKey) // not matching because it's tagged (tags copied from AuthKey)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"alsotagged"}, Tags: []string{"alsotagged"},
IPv4: ap("100.100.101.3"), IPv4: ap("100.100.101.3"),
}, },
{ {
User: new(testuser), User: new(users["testuser"]),
IPv4: ap("100.100.101.103"), IPv4: ap("100.100.101.103"),
}, },
{ {
User: new(testuser), User: new(users["testuser"]),
IPv4: ap("100.100.101.104"), IPv4: ap("100.100.101.104"),
}, },
}, },
@@ -1917,27 +1909,27 @@ func TestResolvePolicy(t *testing.T) {
nodes: types.Nodes{ nodes: types.Nodes{
// Not matching other user // Not matching other user
{ {
User: new(notme), User: new(users["notme"]),
IPv4: ap("100.100.101.4"), IPv4: ap("100.100.101.4"),
}, },
// Not matching forced tags // Not matching forced tags
{ {
User: new(groupuser), User: new(users["groupuser"]),
Tags: []string{"tag:anything"}, Tags: []string{"tag:anything"},
IPv4: ap("100.100.101.5"), IPv4: ap("100.100.101.5"),
}, },
// not matching because it's tagged (tags copied from AuthKey) // not matching because it's tagged (tags copied from AuthKey)
{ {
User: new(groupuser), User: new(users["groupuser"]),
Tags: []string{"tag:alsotagged"}, Tags: []string{"tag:alsotagged"},
IPv4: ap("100.100.101.6"), IPv4: ap("100.100.101.6"),
}, },
{ {
User: new(groupuser), User: new(users["groupuser"]),
IPv4: ap("100.100.101.203"), IPv4: ap("100.100.101.203"),
}, },
{ {
User: new(groupuser), User: new(users["groupuser"]),
IPv4: ap("100.100.101.204"), IPv4: ap("100.100.101.204"),
}, },
}, },
@@ -1955,7 +1947,7 @@ func TestResolvePolicy(t *testing.T) {
nodes: types.Nodes{ nodes: types.Nodes{
// Not matching other user // Not matching other user
{ {
User: new(notme), User: new(users["notme"]),
IPv4: ap("100.100.101.9"), IPv4: ap("100.100.101.9"),
}, },
// Not matching forced tags // Not matching forced tags
@@ -2052,11 +2044,11 @@ func TestResolvePolicy(t *testing.T) {
toResolve: new(Group("group:testgroup")), toResolve: new(Group("group:testgroup")),
nodes: types.Nodes{ nodes: types.Nodes{
{ {
User: new(groupuser1), User: new(users["groupuser1"]),
IPv4: ap("100.100.101.203"), IPv4: ap("100.100.101.203"),
}, },
{ {
User: new(groupuser2), User: new(users["groupuser2"]),
IPv4: ap("100.100.101.204"), IPv4: ap("100.100.101.204"),
}, },
}, },
@@ -2077,7 +2069,7 @@ func TestResolvePolicy(t *testing.T) {
toResolve: new(Username("invaliduser@")), toResolve: new(Username("invaliduser@")),
nodes: types.Nodes{ nodes: types.Nodes{
{ {
User: new(testuser), User: new(users["testuser"]),
IPv4: ap("100.100.101.103"), IPv4: ap("100.100.101.103"),
}, },
}, },
@@ -2109,36 +2101,36 @@ func TestResolvePolicy(t *testing.T) {
nodes: types.Nodes{ nodes: types.Nodes{
// Node with no tags (should be included - is a member) // Node with no tags (should be included - is a member)
{ {
User: new(testuser), User: new(users["testuser"]),
IPv4: ap("100.100.101.1"), IPv4: ap("100.100.101.1"),
}, },
// Node with single tag (should be excluded - tagged nodes are not members) // Node with single tag (should be excluded - tagged nodes are not members)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test"}, Tags: []string{"tag:test"},
IPv4: ap("100.100.101.2"), IPv4: ap("100.100.101.2"),
}, },
// Node with multiple tags, all defined in policy (should be excluded) // Node with multiple tags, all defined in policy (should be excluded)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test", "tag:other"}, Tags: []string{"tag:test", "tag:other"},
IPv4: ap("100.100.101.3"), IPv4: ap("100.100.101.3"),
}, },
// Node with tag not defined in policy (should be excluded - still tagged) // Node with tag not defined in policy (should be excluded - still tagged)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:undefined"}, Tags: []string{"tag:undefined"},
IPv4: ap("100.100.101.4"), IPv4: ap("100.100.101.4"),
}, },
// Node with mixed tags - some defined, some not (should be excluded) // Node with mixed tags - some defined, some not (should be excluded)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test", "tag:undefined"}, Tags: []string{"tag:test", "tag:undefined"},
IPv4: ap("100.100.101.5"), IPv4: ap("100.100.101.5"),
}, },
// Another untagged node from different user (should be included) // Another untagged node from different user (should be included)
{ {
User: new(testuser2), User: new(users["testuser2"]),
IPv4: ap("100.100.101.6"), IPv4: ap("100.100.101.6"),
}, },
}, },
@@ -2159,41 +2151,41 @@ func TestResolvePolicy(t *testing.T) {
nodes: types.Nodes{ nodes: types.Nodes{
// Node with no tags (should be excluded - not tagged) // Node with no tags (should be excluded - not tagged)
{ {
User: new(testuser), User: new(users["testuser"]),
IPv4: ap("100.100.101.1"), IPv4: ap("100.100.101.1"),
}, },
// Node with single tag defined in policy (should be included) // Node with single tag defined in policy (should be included)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test"}, Tags: []string{"tag:test"},
IPv4: ap("100.100.101.2"), IPv4: ap("100.100.101.2"),
}, },
// Node with multiple tags, all defined in policy (should be included) // Node with multiple tags, all defined in policy (should be included)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test", "tag:other"}, Tags: []string{"tag:test", "tag:other"},
IPv4: ap("100.100.101.3"), IPv4: ap("100.100.101.3"),
}, },
// Node with tag not defined in policy (should be included - still tagged) // Node with tag not defined in policy (should be included - still tagged)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:undefined"}, Tags: []string{"tag:undefined"},
IPv4: ap("100.100.101.4"), IPv4: ap("100.100.101.4"),
}, },
// Node with mixed tags - some defined, some not (should be included) // Node with mixed tags - some defined, some not (should be included)
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test", "tag:undefined"}, Tags: []string{"tag:test", "tag:undefined"},
IPv4: ap("100.100.101.5"), IPv4: ap("100.100.101.5"),
}, },
// Another untagged node from different user (should be excluded) // Another untagged node from different user (should be excluded)
{ {
User: new(testuser2), User: new(users["testuser2"]),
IPv4: ap("100.100.101.6"), IPv4: ap("100.100.101.6"),
}, },
// Tagged node from different user (should be included) // Tagged node from different user (should be included)
{ {
User: new(testuser2), User: new(users["testuser2"]),
Tags: []string{"tag:server"}, Tags: []string{"tag:server"},
IPv4: ap("100.100.101.7"), IPv4: ap("100.100.101.7"),
}, },
@@ -2216,20 +2208,20 @@ func TestResolvePolicy(t *testing.T) {
toResolve: new(AutoGroupSelf), toResolve: new(AutoGroupSelf),
nodes: types.Nodes{ nodes: types.Nodes{
{ {
User: new(testuser), User: new(users["testuser"]),
IPv4: ap("100.100.101.1"), IPv4: ap("100.100.101.1"),
}, },
{ {
User: new(testuser2), User: new(users["testuser2"]),
IPv4: ap("100.100.101.2"), IPv4: ap("100.100.101.2"),
}, },
{ {
User: new(testuser), User: new(users["testuser"]),
Tags: []string{"tag:test"}, Tags: []string{"tag:test"},
IPv4: ap("100.100.101.3"), IPv4: ap("100.100.101.3"),
}, },
{ {
User: new(testuser2), User: new(users["testuser2"]),
Tags: []string{"tag:test"}, Tags: []string{"tag:test"},
IPv4: ap("100.100.101.4"), IPv4: ap("100.100.101.4"),
}, },