- Add protocol buffer optimizations (internal/api/protocol.go) - Add filesystem queue backend (internal/queue/filesystem_queue.go) - Add run manifest support (internal/manifest/run_manifest.go) - Worker and jupyter task refinements - Exported test wrappers for benchmarking
57 lines
2.2 KiB
Go
57 lines
2.2 KiB
Go
package jupyter
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
func TestStartupBlockedPackages_DefaultInheritsInstallBlocked(t *testing.T) {
|
|
oldInstall := os.Getenv("FETCHML_JUPYTER_BLOCKED_PACKAGES")
|
|
_, hadStartup := os.LookupEnv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES")
|
|
oldStartup := os.Getenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES")
|
|
|
|
_ = os.Setenv("FETCHML_JUPYTER_BLOCKED_PACKAGES", "requests,urllib3")
|
|
_ = os.Unsetenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES")
|
|
defer os.Setenv("FETCHML_JUPYTER_BLOCKED_PACKAGES", oldInstall)
|
|
if hadStartup {
|
|
defer os.Setenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES", oldStartup)
|
|
} else {
|
|
defer os.Unsetenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES")
|
|
}
|
|
|
|
cfg := DefaultEnhancedSecurityConfigFromEnv()
|
|
startup := startupBlockedPackages(cfg.BlockedPackages)
|
|
if len(startup) != 2 {
|
|
t.Fatalf("expected startup list to inherit 2 items, got %d", len(startup))
|
|
}
|
|
}
|
|
|
|
func TestStartupBlockedPackages_Disabled(t *testing.T) {
|
|
oldInstall := os.Getenv("FETCHML_JUPYTER_BLOCKED_PACKAGES")
|
|
oldStartup := os.Getenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES")
|
|
_ = os.Setenv("FETCHML_JUPYTER_BLOCKED_PACKAGES", "requests,urllib3")
|
|
_ = os.Setenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES", "off")
|
|
defer os.Setenv("FETCHML_JUPYTER_BLOCKED_PACKAGES", oldInstall)
|
|
defer os.Setenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES", oldStartup)
|
|
|
|
cfg := DefaultEnhancedSecurityConfigFromEnv()
|
|
startup := startupBlockedPackages(cfg.BlockedPackages)
|
|
if len(startup) != 0 {
|
|
t.Fatalf("expected startup list to be disabled, got %d", len(startup))
|
|
}
|
|
}
|
|
|
|
func TestStartupBlockedPackages_ExplicitList(t *testing.T) {
|
|
oldInstall := os.Getenv("FETCHML_JUPYTER_BLOCKED_PACKAGES")
|
|
oldStartup := os.Getenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES")
|
|
_ = os.Setenv("FETCHML_JUPYTER_BLOCKED_PACKAGES", "requests,urllib3")
|
|
_ = os.Setenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES", "aiohttp")
|
|
defer os.Setenv("FETCHML_JUPYTER_BLOCKED_PACKAGES", oldInstall)
|
|
defer os.Setenv("FETCHML_JUPYTER_STARTUP_BLOCKED_PACKAGES", oldStartup)
|
|
|
|
cfg := DefaultEnhancedSecurityConfigFromEnv()
|
|
startup := startupBlockedPackages(cfg.BlockedPackages)
|
|
if len(startup) != 1 || startup[0] != "aiohttp" {
|
|
t.Fatalf("expected explicit startup list [aiohttp], got %v", startup)
|
|
}
|
|
}
|