mirror of
				https://gitlab.crans.org/nounous/ghostream.git
				synced 2025-11-04 15:42:26 +01:00 
			
		
		
		
	Also test web server desactivation
This commit is contained in:
		@@ -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
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user