Updated GitHub Actions workflow for Go tests and coverage

This commit is contained in:
Andrei Alexandru
2025-11-02 12:01:20 +02:00
parent b8a4d8d8da
commit df9a134e9b
6 changed files with 55 additions and 55 deletions

View File

@@ -1,9 +1,8 @@
package tests
package routes
import (
"net/http"
"net/http/httptest"
"newproxy/routes"
"testing"
"github.com/gin-gonic/gin"
@@ -12,7 +11,7 @@ import (
func TestBuildsHandler(t *testing.T) {
gin.SetMode(gin.TestMode)
r := gin.Default()
routes.RegisterBuildsRoute(r)
RegisterBuildsRoute(r)
req, _ := http.NewRequest("GET", "/client/builds.json", nil)
w := httptest.NewRecorder()

View File

@@ -0,0 +1,31 @@
package routes
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/gin-gonic/gin"
)
func TestForwardHandler(t *testing.T) {
gin.SetMode(gin.TestMode)
r := gin.Default()
RegisterForwardRoute(r)
mockServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("OK"))
}))
defer mockServer.Close()
req, _ := http.NewRequest("GET", "/?url="+mockServer.URL, nil)
w := httptest.NewRecorder()
r.ServeHTTP(w, req)
if w.Code != http.StatusOK {
t.Errorf("Expected 200 OK, got %d", w.Code)
}
if w.Body.String() != "OK" {
t.Errorf("Expected body 'OK', got '%s'", w.Body.String())
}
}

View File

@@ -1,9 +1,8 @@
package tests
package routes
import (
"net/http"
"net/http/httptest"
"newproxy/routes"
"testing"
"github.com/gin-gonic/gin"
@@ -12,13 +11,13 @@ import (
func TestStatusHandler(t *testing.T) {
gin.SetMode(gin.TestMode)
r := gin.Default()
routes.RegisterStatusRoute(r)
RegisterStatusRoute(r)
req, _ := http.NewRequest("GET", "/status", nil)
w := httptest.NewRecorder()
r.ServeHTTP(w, req)
if w.Code != http.StatusOK {
t.Errorf("Expected status 200 OK, got %d", w.Code)
t.Errorf("Expected 200 OK, got %d", w.Code)
}
}

View File

@@ -1,26 +0,0 @@
package tests
import (
"newproxy/utils"
"os"
"testing"
)
func TestFetchLatestRelease_ValidFile(t *testing.T) {
content := `{"release_version": "v1.0.0", "release_time": "2025-01-01T00:00:00Z"}`
_ = os.WriteFile("data/release.json", []byte(content), 0644)
utils.FetchLatestRelease()
if utils.LatestRelease.ReleaseVersion != "v1.0.0" {
t.Errorf("Expected version v1.0.0, got %s", utils.LatestRelease.ReleaseVersion)
}
}
func TestFetchLatestRelease_MissingFile(t *testing.T) {
_ = os.Remove("data/release.json")
utils.FetchLatestRelease()
if utils.LatestRelease.ReleaseVersion == "" {
t.Errorf("Expected default release info, got empty version")
}
}