- Introduced unit tests for the main package to ensure compilation. - Added tests for the manager, including validation of upload sessions and handling of Blender binary paths. - Implemented tests for job token generation and validation, ensuring security and integrity. - Created tests for configuration management and database schema to verify functionality. - Added tests for logger and runner components to enhance overall test coverage and reliability.
36 lines
995 B
Go
36 lines
995 B
Go
package api
|
|
|
|
import (
|
|
"bytes"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestHandleGenerateRunnerAPIKey_UnauthorizedWithoutContext(t *testing.T) {
|
|
s := &Manager{}
|
|
req := httptest.NewRequest(http.MethodPost, "/api/admin/runner-api-keys", bytes.NewBufferString(`{"name":"k"}`))
|
|
rr := httptest.NewRecorder()
|
|
|
|
s.handleGenerateRunnerAPIKey(rr, req)
|
|
|
|
if rr.Code != http.StatusUnauthorized {
|
|
t.Fatalf("status = %d, want %d", rr.Code, http.StatusUnauthorized)
|
|
}
|
|
}
|
|
|
|
func TestHandleGenerateRunnerAPIKey_RejectsBadJSON(t *testing.T) {
|
|
s := &Manager{}
|
|
req := httptest.NewRequest(http.MethodPost, "/api/admin/runner-api-keys", bytes.NewBufferString(`{`))
|
|
rr := httptest.NewRecorder()
|
|
|
|
s.handleGenerateRunnerAPIKey(rr, req)
|
|
|
|
// No auth context means unauthorized happens first; this still validates safe
|
|
// failure handling for malformed requests in this handler path.
|
|
if rr.Code != http.StatusUnauthorized {
|
|
t.Fatalf("status = %d, want %d", rr.Code, http.StatusUnauthorized)
|
|
}
|
|
}
|
|
|