mirror of
https://github.com/psviderski/uncloud.git
synced 2026-10-06 13:18:58 +00:00
BREAKING CHANGE: move Uncloud API socket to /run/uncloud/api/uncloud.sock, activate it by systemd socket unit
This commit is contained in:
1 parent
c65f352250
commit
f68c9859d9
24 files changed
+345
-112
No files matched your search
@@ -0,0 +1,71 @@
|
||||
package daemon
|
||||
|
||||
import (
|
||||
"net"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestSelectActivatedListener(t *testing.T) {
|
||||
t.Run("no activated listeners", func(t *testing.T) {
|
||||
listener, err := selectActivatedListener(nil)
|
||||
require.NoError(t, err)
|
||||
assert.Nil(t, listener)
|
||||
})
|
||||
|
||||
t.Run("only listener regardless of name", func(t *testing.T) {
|
||||
activated := testListener(t)
|
||||
|
||||
listener, err := selectActivatedListener(map[string][]net.Listener{"another.socket": {activated}})
|
||||
require.NoError(t, err)
|
||||
assert.Same(t, activated, listener)
|
||||
})
|
||||
|
||||
t.Run("named listener when multiple", func(t *testing.T) {
|
||||
activated := testListener(t)
|
||||
extra := testListener(t)
|
||||
|
||||
listener, err := selectActivatedListener(map[string][]net.Listener{
|
||||
systemdSocketUnit: {activated},
|
||||
"another.socket": {extra},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
assert.Same(t, activated, listener)
|
||||
assert.Error(t, extra.Close())
|
||||
})
|
||||
|
||||
t.Run("multiple listeners without expected name", func(t *testing.T) {
|
||||
first := testListener(t)
|
||||
second := testListener(t)
|
||||
|
||||
listener, err := selectActivatedListener(map[string][]net.Listener{
|
||||
"first.socket": {first},
|
||||
"second.socket": {second},
|
||||
})
|
||||
require.ErrorContains(t, err, "expected one systemd-activated socket")
|
||||
assert.Nil(t, listener)
|
||||
})
|
||||
|
||||
t.Run("multiple listeners under expected name", func(t *testing.T) {
|
||||
first := testListener(t)
|
||||
second := testListener(t)
|
||||
|
||||
listener, err := selectActivatedListener(map[string][]net.Listener{
|
||||
systemdSocketUnit: {first, second},
|
||||
})
|
||||
require.ErrorContains(t, err, "expected one systemd-activated socket")
|
||||
assert.Nil(t, listener)
|
||||
})
|
||||
}
|
||||
|
||||
func testListener(t *testing.T) net.Listener {
|
||||
t.Helper()
|
||||
|
||||
listener, err := net.Listen("tcp", "127.0.0.1:0")
|
||||
require.NoError(t, err)
|
||||
t.Cleanup(func() { _ = listener.Close() })
|
||||
|
||||
return listener
|
||||
}
|
||||
Reference in new issue
Block a user