testutil

package
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTestFile

func CreateTestFile(t *testing.T, filename string, content string) string

CreateTestFile 임시 디렉토리에 파일을 생성하고 경로를 반환합니다.

func CreateTestJSONFile

func CreateTestJSONFile(t *testing.T, filename string, data interface{}) string

CreateTestJSONFile 임의의 데이터를 JSON으로 변환하여 임시 파일로 저장하고 경로를 반환합니다.

func LoadTestData

func LoadTestData(t *testing.T, filename string) []byte

LoadTestData testdata 디렉토리에서 파일을 읽어옵니다. 실패 시 t.Fatalf로 테스트를 중단합니다.

func LoadTestDataAsString

func LoadTestDataAsString(t *testing.T, filename string) string

LoadTestDataAsString testdata 디렉토리에서 파일을 읽어 문자열로 반환합니다.

func NewMockTask

func NewMockTask(taskID contract.TaskID, commandID contract.TaskCommandID, instanceID contract.TaskInstanceID, notifierID contract.NotifierID, runBy contract.TaskRunBy, storage contract.TaskResultStore, f fetcher.Fetcher, newSnapshot provider.NewSnapshotFunc) *provider.Base

NewMockTask 테스트를 위한 Task 인스턴스를 생성하고 Mock Storage를 연결하여 반환합니다.

func NewMockTaskConfig

func NewMockTaskConfig(taskID contract.TaskID, commandID contract.TaskCommandID) *provider.TaskConfig

NewMockTaskConfig 테스트를 위한 기본 Task Config 인스턴스를 생성합니다.

func NewMockTaskConfigWithSnapshot

func NewMockTaskConfigWithSnapshot(taskID contract.TaskID, commandID contract.TaskCommandID, snapshot interface{}) *provider.TaskConfig

NewMockTaskConfigWithSnapshot 테스트를 위한 Task Config 인스턴스를 스냅샷과 함께 생성합니다.

func RegisterMockTask

func RegisterMockTask(storage *contractmocks.MockTaskResultStore, taskID contract.TaskID, commandID contract.TaskCommandID, snapshot interface{})

RegisterMockTask Mock TaskResultStore에 특정 작업 결과를 미리 등록합니다.

Types

type StubIDGenerator

type StubIDGenerator struct {

	// Prefix 생성된 ID 앞에 붙을 접두사입니다. (기본값: "stub-id-")
	Prefix string

	// FixedID 설정된 경우 항상 이 ID를 반환합니다.
	FixedID contract.TaskInstanceID
	// contains filtered or unexported fields
}

StubIDGenerator 테스트용 단순 ID 생성기 (매번 고유 ID 반환)

func (*StubIDGenerator) New

type StubTask

type StubTask struct {

	// NotifierIDValue 설정된 경우 NotifierID() 메서드가 이 값을 반환합니다.
	// 기본값: "test-notifier"
	NotifierIDValue contract.NotifierID

	// RunFunc 설정된 경우 Run() 메서드 호출 시 실행됩니다.
	// 설정되지 않은 경우 기본적으로 블로킹(대기) 동작을 수행합니다.
	RunFunc func(ctx context.Context, ns contract.NotificationSender)

	// FixedElapsed 설정된 경우 Elapsed() 메서드가 항상 이 값을 반환합니다.
	FixedElapsed time.Duration
	// contains filtered or unexported fields
}

StubTask는 테스트용 Task (Shell/Stub) 구현체입니다. 실제 로직 없이 실행 요청을 대기하거나 취소 신호를 처리하는 용도로 사용됩니다.

func NewStubTask

func NewStubTask(id contract.TaskID, cmdID contract.TaskCommandID, instID contract.TaskInstanceID) *StubTask

func (*StubTask) Cancel

func (s *StubTask) Cancel()

func (*StubTask) CommandID

func (s *StubTask) CommandID() contract.TaskCommandID

func (*StubTask) Elapsed

func (s *StubTask) Elapsed() time.Duration

func (*StubTask) ID

func (s *StubTask) ID() contract.TaskID

func (*StubTask) InstanceID

func (s *StubTask) InstanceID() contract.TaskInstanceID

func (*StubTask) IsCanceled

func (s *StubTask) IsCanceled() bool

func (*StubTask) NotifierID

func (s *StubTask) NotifierID() contract.NotifierID

func (*StubTask) Run

func (*StubTask) RunCount

func (s *StubTask) RunCount() int64

RunCount Run() 메서드가 호출된 횟수를 반환합니다.

func (*StubTask) WaitCanceled

func (s *StubTask) WaitCanceled() <-chan struct{}

WaitCanceled Task가 취소될 때 (Cancel 호출 시) 닫히는 채널을 반환합니다. RunFunc 등 사용자 정의 테스트 동작에서 취소를 감지하고 종료하는 데 사용됩니다.

Jump to

Keyboard shortcuts

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