Upgrade dashboard, builder, and agent resource controls.
Dark UI with hashrate graphs, inline setting help, percent-based threads/RAM, configurable process name and display modes, and LAN-aware run.bat startup banner.
This commit is contained in:
48
server/internal/builder/handler_test.go
Normal file
48
server/internal/builder/handler_test.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package builder
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestNormalizeRequestDefaults(t *testing.T) {
|
||||
h := &Handler{}
|
||||
req := &BuildRequest{
|
||||
WorkerName: "pc-1",
|
||||
ServerURL: "http://192.168.1.10:8989",
|
||||
Wallet: "48abc",
|
||||
}
|
||||
if err := h.normalizeRequest(req); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if req.ThreadMode != "percent" {
|
||||
t.Fatalf("expected percent thread mode, got %s", req.ThreadMode)
|
||||
}
|
||||
if req.ThreadPercent != 75 {
|
||||
t.Fatalf("expected 75%%, got %d", req.ThreadPercent)
|
||||
}
|
||||
if req.ProcessName == "" {
|
||||
t.Fatal("expected generated process name")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeRequestRequiresWallet(t *testing.T) {
|
||||
h := &Handler{}
|
||||
req := &BuildRequest{WorkerName: "pc", ServerURL: "http://x"}
|
||||
if err := h.normalizeRequest(req); err == nil {
|
||||
t.Fatal("expected wallet validation error")
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeRequestPersistence(t *testing.T) {
|
||||
h := &Handler{}
|
||||
req := &BuildRequest{
|
||||
WorkerName: "pc-1",
|
||||
ServerURL: "http://192.168.1.10:8989",
|
||||
Wallet: "48abc",
|
||||
Persistence: true,
|
||||
}
|
||||
if err := h.normalizeRequest(req); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if !req.AutoStart {
|
||||
t.Fatal("persistence should enable auto start")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user