mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-08-26 00:45:06 +03:00
Add password authentication to WebUI and implement session management
- Updated WebUI configuration to include a password field for authentication. - Enhanced the WebUI server to handle login and logout functionality with session management. - Added tests for authentication and session handling. - Updated README and example configuration to reflect new authentication features.
This commit is contained in:
parent
51e1ef3ed0
commit
113dcbb72a
17 changed files with 676 additions and 74 deletions
|
@ -26,7 +26,7 @@ func TestWebUIServer_Creation(t *testing.T) {
|
|||
logger := createTestLogger()
|
||||
listen := getTestAddress()
|
||||
|
||||
server := Server(listen, logger)
|
||||
server := Server(listen, "", logger)
|
||||
|
||||
if server == nil {
|
||||
t.Fatal("Server function returned nil")
|
||||
|
@ -49,7 +49,7 @@ func TestWebUIServer_StartStop(t *testing.T) {
|
|||
logger := createTestLogger()
|
||||
listen := getTestAddress()
|
||||
|
||||
server := Server(listen, logger)
|
||||
server := Server(listen, "", logger)
|
||||
|
||||
// Start server in goroutine
|
||||
errChan := make(chan error, 1)
|
||||
|
@ -86,7 +86,7 @@ func TestWebUIServer_StopWithoutStart(t *testing.T) {
|
|||
logger := createTestLogger()
|
||||
listen := getTestAddress()
|
||||
|
||||
server := Server(listen, logger)
|
||||
server := Server(listen, "", logger)
|
||||
|
||||
// Stop server that was never started should not error
|
||||
err := server.Stop()
|
||||
|
@ -100,7 +100,8 @@ func TestWebUIServer_HealthEndpoint(t *testing.T) {
|
|||
|
||||
// Create a test server using net/http/httptest for reliable testing
|
||||
mux := http.NewServeMux()
|
||||
setupStaticHandler(mux)
|
||||
testServer := Server("127.0.0.1:0", "", logger)
|
||||
setupStaticHandler(mux, testServer)
|
||||
mux.HandleFunc("/", func(rw http.ResponseWriter, r *http.Request) {
|
||||
serveFile(rw, r, logger)
|
||||
})
|
||||
|
@ -135,7 +136,7 @@ func TestWebUIServer_HealthEndpoint(t *testing.T) {
|
|||
|
||||
func TestWebUIServer_Timeouts(t *testing.T) {
|
||||
logger := createTestLogger()
|
||||
server := Server("127.0.0.1:0", logger)
|
||||
server := Server("127.0.0.1:0", "", logger)
|
||||
|
||||
// Start server
|
||||
go func() {
|
||||
|
@ -173,7 +174,7 @@ func TestWebUIServer_ConcurrentStartStop(t *testing.T) {
|
|||
|
||||
// Test concurrent start/stop operations with separate servers
|
||||
for i := 0; i < 3; i++ {
|
||||
server := Server("127.0.0.1:0", logger)
|
||||
server := Server("127.0.0.1:0", "", logger)
|
||||
|
||||
// Start server
|
||||
startDone := make(chan error, 1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue