Refactor installation and runner scripts for enhanced usability and security
- Updated the installation script to clarify that production wrappers do not include fixed test secrets, improving user guidance for local testing. - Modified the jiggablend-manager and jiggablend-runner scripts to remove fixed test configurations, emphasizing the use of local test credentials via `make init-test`. - Enhanced error handling in the runner script to ensure that an API key is provided, improving security and user feedback. - Added new flags and options for the runner, including sandboxing capabilities and GPU ray tracing control, enhancing flexibility for users. - Improved README documentation to reflect changes in usage and configuration, ensuring users have clear instructions for setup and execution.
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"jiggablend/pkg/types"
|
||||
)
|
||||
|
||||
func TestMergeBlendMetadataForJobCreate_PreservesUploadMetadata(t *testing.T) {
|
||||
uploadMeta := &types.BlendMetadata{
|
||||
FrameStart: -15,
|
||||
FrameEnd: 1468,
|
||||
BlenderVersion: "4.5.11",
|
||||
RenderSettings: types.RenderSettings{
|
||||
ResolutionX: 2560,
|
||||
ResolutionY: 1440,
|
||||
Engine: "cycles",
|
||||
OutputFormat: "EXR",
|
||||
},
|
||||
SceneInfo: types.SceneInfo{
|
||||
ObjectCount: 42,
|
||||
},
|
||||
}
|
||||
|
||||
frameStart := 800
|
||||
frameEnd := 800
|
||||
outputFormat := "EXR"
|
||||
req := &types.CreateJobRequest{
|
||||
FrameStart: &frameStart,
|
||||
FrameEnd: &frameEnd,
|
||||
OutputFormat: &outputFormat,
|
||||
}
|
||||
|
||||
meta, err := mergeBlendMetadataForJobCreate(uploadMeta, req)
|
||||
if err != nil {
|
||||
t.Fatalf("mergeBlendMetadataForJobCreate failed: %v", err)
|
||||
}
|
||||
|
||||
if meta.BlenderVersion != "4.5.11" {
|
||||
t.Fatalf("expected blender_version 4.5.11, got %q", meta.BlenderVersion)
|
||||
}
|
||||
if meta.FrameStart != 800 || meta.FrameEnd != 800 {
|
||||
t.Fatalf("expected frame range 800-800, got %d-%d", meta.FrameStart, meta.FrameEnd)
|
||||
}
|
||||
if meta.RenderSettings.ResolutionX != 2560 || meta.RenderSettings.ResolutionY != 1440 {
|
||||
t.Fatalf("expected resolution 2560x1440, got %dx%d", meta.RenderSettings.ResolutionX, meta.RenderSettings.ResolutionY)
|
||||
}
|
||||
if meta.RenderSettings.Engine != "cycles" {
|
||||
t.Fatalf("expected engine cycles, got %q", meta.RenderSettings.Engine)
|
||||
}
|
||||
if meta.RenderSettings.OutputFormat != "EXR" {
|
||||
t.Fatalf("expected output_format EXR, got %q", meta.RenderSettings.OutputFormat)
|
||||
}
|
||||
if meta.SceneInfo.ObjectCount != 42 {
|
||||
t.Fatalf("expected scene object_count 42, got %d", meta.SceneInfo.ObjectCount)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeBlendMetadataForJobCreate_RequestOverridesVersion(t *testing.T) {
|
||||
uploadMeta := &types.BlendMetadata{
|
||||
BlenderVersion: "4.5.11",
|
||||
}
|
||||
|
||||
frameStart := 1
|
||||
frameEnd := 1
|
||||
override := "4.2.3"
|
||||
req := &types.CreateJobRequest{
|
||||
FrameStart: &frameStart,
|
||||
FrameEnd: &frameEnd,
|
||||
BlenderVersion: &override,
|
||||
}
|
||||
|
||||
meta, err := mergeBlendMetadataForJobCreate(uploadMeta, req)
|
||||
if err != nil {
|
||||
t.Fatalf("mergeBlendMetadataForJobCreate failed: %v", err)
|
||||
}
|
||||
if meta.BlenderVersion != "4.2.3" {
|
||||
t.Fatalf("expected request override 4.2.3, got %q", meta.BlenderVersion)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeBlendMetadataForJobCreate_RequiresBlenderVersion(t *testing.T) {
|
||||
frameStart := 1
|
||||
frameEnd := 1
|
||||
req := &types.CreateJobRequest{
|
||||
FrameStart: &frameStart,
|
||||
FrameEnd: &frameEnd,
|
||||
}
|
||||
|
||||
if _, err := mergeBlendMetadataForJobCreate(nil, req); err == nil {
|
||||
t.Fatal("expected error when blender_version is missing")
|
||||
}
|
||||
}
|
||||
|
||||
func TestUploadSessionMetadata(t *testing.T) {
|
||||
session := &UploadSession{
|
||||
ResultMetadata: &types.BlendMetadata{
|
||||
BlenderVersion: "4.5.11",
|
||||
},
|
||||
}
|
||||
|
||||
meta := uploadSessionMetadata(session)
|
||||
if meta == nil || meta.BlenderVersion != "4.5.11" {
|
||||
t.Fatalf("unexpected metadata: %+v", meta)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user