# Copyright 2025 ryu1maniwa. All Rights Reserved.
#
# This file is derived from awslabs.aws-documentation-mcp-server, which is licensed as follows:
#
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
# with the License. A copy of the License is located at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
# OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
# and limitations under the License.
"""Tests for data models in the OpenTelemetry Documentation MCP Server."""
from opentelemetry_documentation_mcp_server.models import (
SearchResult,
)
class TestSearchResult:
"""Tests for SearchResult model."""
def test_search_result_creation(self):
"""Test creation of SearchResult."""
result = SearchResult(
rank_order=1,
url='https://opentelemetry.io/docs/concepts/overview/',
title='OpenTelemetry Overview',
context='OpenTelemetry is an open-source system for automating deployment...',
)
assert result.rank_order == 1
assert result.url == 'https://opentelemetry.io/docs/concepts/overview/'
assert result.title == 'OpenTelemetry Overview'
assert result.context == 'OpenTelemetry is an open-source system for automating deployment...'
def test_search_result_without_context(self):
"""Test creation of SearchResult without context."""
result = SearchResult(
rank_order=1,
url='https://opentelemetry.io/docs/concepts/overview/',
title='OpenTelemetry Overview',
)
assert result.rank_order == 1
assert result.url == 'https://opentelemetry.io/docs/concepts/overview/'
assert result.title == 'OpenTelemetry Overview'
assert result.context is None