package container_test import ( "errors" "os" "strconv" "syscall" "testing" "hakurei.app/container" ) func TestSetupReceive(t *testing.T) { t.Run("not set", func(t *testing.T) { const key = "TEST_ENV_NOT_SET" { v, ok := os.LookupEnv(key) t.Cleanup(func() { if ok { if err := os.Setenv(key, v); err != nil { t.Fatalf("Setenv: error = %v", err) } } else { if err := os.Unsetenv(key); err != nil { t.Fatalf("Unsetenv: error = %v", err) } } }) } if _, err := container.Receive(key, nil, nil); !errors.Is(err, container.ErrReceiveEnv) { t.Errorf("Receive: error = %v, want %v", err, container.ErrReceiveEnv) } }) t.Run("format", func(t *testing.T) { const key = "TEST_ENV_FORMAT" t.Setenv(key, "") if _, err := container.Receive(key, nil, nil); !errors.Is(err, strconv.ErrSyntax) { t.Errorf("Receive: error = %v, want %v", err, strconv.ErrSyntax) } }) t.Run("range", func(t *testing.T) { const key = "TEST_ENV_RANGE" t.Setenv(key, "-1") if _, err := container.Receive(key, nil, nil); !errors.Is(err, syscall.EDOM) { t.Errorf("Receive: error = %v, want %v", err, syscall.EDOM) } }) }