Files
2026-07-13 12:49:10 +08:00

52 lines
2.1 KiB
Go

/*
* Copyright 2024 CloudWeGo Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Package mock provides mock implementations for testing purposes.
//
// This package aims to provide mock implementations for interfaces in the components package,
// making it easier to use in testing environments. It includes mock implementations for
// various core components such as retrievers, tools, message handlers, and graph runners.
//
// Directory Structure:
// - components/: Contains mock implementations for various components
// - retriever/: Provides mock implementation for the Retriever interface
// - retriever_mock.go: Mock implementation for document retrieval
// - tool/: Mock implementations for tool-related interfaces
// - message/: Mock implementations for message handling components
// - graph/: Mock implementations for graph execution components
// - stream/: Mock implementations for streaming components
//
// Usage:
// These mock implementations are primarily used in unit tests and integration tests,
// allowing developers to conduct tests without depending on actual external services.
// Each mock component strictly follows the contract of its corresponding interface
// while providing controllable behaviors and results.
//
// Examples:
//
// - Using mock retriever:
// retriever := mock.NewMockRetriever()
// // Configure retriever behavior
//
// - Using mock tool:
// tool := mock.NewMockTool()
// // Configure tool behavior
//
// - Using mock graph runner:
// runner := mock.NewMockGraphRunner()
// // Configure runner behavior
package mock