env

package
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package env provides an interface-based abstraction for environment variable access, enabling dependency injection and testing isolation.

Basic Usage

Use OSReader to read environment variables via the standard os package:

reader := &env.OSReader{}
value := reader.Getenv("MY_VAR")

Testing

The Reader interface allows injecting a mock in tests to avoid relying on real environment variables. A generated mock is available in the mocks sub-package:

ctrl := gomock.NewController(t)
mock := mocks.NewMockReader(ctrl)
mock.EXPECT().Getenv("MY_VAR").Return("test-value")

result := myFunc(mock)

Design

This package follows the interface-based dependency injection pattern used throughout toolhive-core. Production code accepts an env.Reader, while tests substitute the generated mock.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OSReader

type OSReader struct{}

OSReader implements Reader using the standard os package

func (*OSReader) Getenv

func (*OSReader) Getenv(key string) string

Getenv returns the value of the environment variable named by the key

type Reader

type Reader interface {
	Getenv(key string) string
}

Reader defines an interface for environment variable access

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL