mirror of
https://github.com/lukaszraczylo/lolcathost.git
synced 2026-07-07 04:24:39 +00:00
gosec govulncheck runs (#1)
* gosec govulncheck runs
* Fix flaky TestRateLimiter_Matrix test
The test was failing due to two issues:
1. Test name generation used invalid character conversion (string(rune('0'+limit)))
which produced non-printable characters for limits >= 10
2. Using 10ms windows with 100 requests caused race conditions - early requests
would expire before all 100 were made, allowing the 101st request
Changed to use struct-based test cases with proper fmt.Sprintf naming and
a consistent 1-second window that won't expire during rapid test execution.
This commit is contained in:
@@ -432,77 +432,6 @@ func TestConfig_DeleteHost(t *testing.T) {
|
||||
})
|
||||
}
|
||||
|
||||
func TestConfig_UpdateHost(t *testing.T) {
|
||||
t.Run("update in same group", func(t *testing.T) {
|
||||
cfg := &Config{
|
||||
Groups: []Group{
|
||||
{Name: "dev", Hosts: []Host{{Domain: "old.com", IP: "127.0.0.1", Alias: "test"}}},
|
||||
},
|
||||
}
|
||||
err := cfg.UpdateHost("test", "new.com", "192.168.1.1", "test", "dev")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "new.com", cfg.Groups[0].Hosts[0].Domain)
|
||||
assert.Equal(t, "192.168.1.1", cfg.Groups[0].Hosts[0].IP)
|
||||
})
|
||||
|
||||
t.Run("move to different group", func(t *testing.T) {
|
||||
cfg := &Config{
|
||||
Groups: []Group{
|
||||
{Name: "source", Hosts: []Host{{Domain: "a.com", IP: "127.0.0.1", Alias: "test"}}},
|
||||
{Name: "target", Hosts: []Host{}},
|
||||
},
|
||||
}
|
||||
err := cfg.UpdateHost("test", "a.com", "127.0.0.1", "test", "target")
|
||||
require.NoError(t, err)
|
||||
assert.Len(t, cfg.Groups[0].Hosts, 0)
|
||||
assert.Len(t, cfg.Groups[1].Hosts, 1)
|
||||
})
|
||||
|
||||
t.Run("move to new group", func(t *testing.T) {
|
||||
cfg := &Config{
|
||||
Groups: []Group{
|
||||
{Name: "source", Hosts: []Host{{Domain: "a.com", IP: "127.0.0.1", Alias: "test"}}},
|
||||
},
|
||||
}
|
||||
err := cfg.UpdateHost("test", "a.com", "127.0.0.1", "test", "newgroup")
|
||||
require.NoError(t, err)
|
||||
assert.Len(t, cfg.Groups, 2)
|
||||
assert.Equal(t, "newgroup", cfg.Groups[1].Name)
|
||||
})
|
||||
|
||||
t.Run("change alias", func(t *testing.T) {
|
||||
cfg := &Config{
|
||||
Groups: []Group{
|
||||
{Name: "dev", Hosts: []Host{{Domain: "a.com", IP: "127.0.0.1", Alias: "old"}}},
|
||||
},
|
||||
}
|
||||
err := cfg.UpdateHost("old", "a.com", "127.0.0.1", "new", "dev")
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "new", cfg.Groups[0].Hosts[0].Alias)
|
||||
})
|
||||
|
||||
t.Run("alias conflict error", func(t *testing.T) {
|
||||
cfg := &Config{
|
||||
Groups: []Group{
|
||||
{Name: "dev", Hosts: []Host{
|
||||
{Domain: "a.com", Alias: "a"},
|
||||
{Domain: "b.com", Alias: "b"},
|
||||
}},
|
||||
},
|
||||
}
|
||||
err := cfg.UpdateHost("a", "a.com", "127.0.0.1", "b", "dev")
|
||||
assert.Error(t, err)
|
||||
assert.Contains(t, err.Error(), "alias already exists")
|
||||
})
|
||||
|
||||
t.Run("host not found error", func(t *testing.T) {
|
||||
cfg := &Config{Groups: []Group{}}
|
||||
err := cfg.UpdateHost("nonexistent", "a.com", "127.0.0.1", "new", "dev")
|
||||
assert.Error(t, err)
|
||||
assert.Contains(t, err.Error(), "alias not found")
|
||||
})
|
||||
}
|
||||
|
||||
func TestConfig_AddPreset(t *testing.T) {
|
||||
t.Run("add new preset", func(t *testing.T) {
|
||||
cfg := &Config{Presets: []Preset{}}
|
||||
|
||||
Reference in New Issue
Block a user