diff --git a/web/web.go b/web/web.go index 6265c2a..df7ca97 100644 --- a/web/web.go +++ b/web/web.go @@ -85,7 +85,7 @@ func Serve(rSdpChan chan struct { cfg = c if !cfg.Enabled { - // SRT is not enabled, ignore + // Web server is not enabled, ignore return } diff --git a/web/web_test.go b/web/web_test.go index 15b1d86..5d302f6 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -8,39 +8,54 @@ import ( // TestHTTPServe tries to serve a real HTTP server and load some pages func TestHTTPServe(t *testing.T) { + go Serve(nil, nil, &Options{Enabled: false, ListenAddress: "127.0.0.1:8081"}) + + // Sleep 500ms to ensure that the web server is running, to avoid fails because the request came too early + time.Sleep(500 * time.Millisecond) + + // Test GET request, should fail + resp, err := http.Get("http://localhost:8081/") + if err == nil { + t.Error("Web server did init with Enabled=false") + } + + // Now let's really start the web server go Serve(nil, nil, &Options{Enabled: true, ListenAddress: "127.0.0.1:8081"}) // Sleep 500ms to ensure that the web server is running, to avoid fails because the request came too early time.Sleep(500 * time.Millisecond) - // Test GET request - resp, err := http.Get("http://localhost:8081/") + // Test home page + resp, err = http.Get("http://localhost:8081/") if err != nil { - t.Error("Error while getting /:", err) + t.Errorf("Error while getting /: %s", err) } if resp.StatusCode != http.StatusOK { t.Errorf("Viewer page returned %v != %v on GET", resp.StatusCode, http.StatusOK) } + // Test viewer page resp, err = http.Get("http://localhost:8081/demo") if err != nil { - t.Error("Error while getting /demo:", err) + t.Errorf("Error while getting /demo: %s", err) } if resp.StatusCode != http.StatusOK { t.Errorf("Viewer page returned %v != %v on GET", resp.StatusCode, http.StatusOK) } + // Test viewer static file resp, err = http.Get("http://localhost:8081/static/js/viewer.js") if err != nil { - t.Error("Error while getting /static/js/viewer/js:", err) + t.Errorf("Error while getting /static/js/viewer/js: %s", err) } if resp.StatusCode != http.StatusOK { t.Errorf("Viewer page returned %v != %v on GET", resp.StatusCode, http.StatusOK) } + // Test viewer statistic endpoint resp, err = http.Get("http://localhost:8081/_stats/demo/") if err != nil { - t.Error("Error while getting /_stats:", err) + t.Errorf("Error while getting /_stats: %s", err) } if resp.StatusCode != http.StatusOK { t.Errorf("Viewer page returned %v != %v on GET", resp.StatusCode, http.StatusOK)