From d590210a6151baff6f29c8b52c2f6461bb3f0506 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 00:14:34 +0000 Subject: [PATCH] fix: update AgentOps documentation links to point to correct examples MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update English and Portuguese AgentOps documentation to link to correct examples in AgentOps repository - Remove Instagram post example that doesn't exist in AgentOps repository - Change CardGroup from 3 to 2 columns to accommodate removal - Add tests to validate documentation links are accessible and contain AgentOps implementation Fixes #3247 Co-Authored-By: João --- docs/en/observability/agentops.mdx | 15 ++------- docs/pt-BR/observability/agentops.mdx | 17 +++------- tests/test_documentation_links.py | 45 +++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 25 deletions(-) create mode 100644 tests/test_documentation_links.py diff --git a/docs/en/observability/agentops.mdx b/docs/en/observability/agentops.mdx index 199a1de78..0c74927ad 100644 --- a/docs/en/observability/agentops.mdx +++ b/docs/en/observability/agentops.mdx @@ -79,11 +79,11 @@ This feature is useful for debugging and understanding how agents interact with ### Crew + AgentOps Examples - + @@ -92,21 +92,12 @@ This feature is useful for debugging and understanding how agents interact with Example of a Crew agent that validates Markdown files. - - Example of a Crew agent that generates Instagram posts. - ### Further Information diff --git a/docs/pt-BR/observability/agentops.mdx b/docs/pt-BR/observability/agentops.mdx index e7f13925f..aeb2e4fbe 100644 --- a/docs/pt-BR/observability/agentops.mdx +++ b/docs/pt-BR/observability/agentops.mdx @@ -79,11 +79,11 @@ Esse recurso é útil para depuração e entendimento de como os agentes interag ### Exemplos de Crew + AgentOps - + @@ -92,21 +92,12 @@ Esse recurso é útil para depuração e entendimento de como os agentes interag Exemplo de um agente Crew que valida arquivos Markdown. - - Exemplo de um agente Crew que gera posts para Instagram. - ### Mais Informações @@ -123,4 +114,4 @@ Para sugestões de funcionalidades ou relatos de bugs, entre em contato com o ti   •   🖇️ Dashboard AgentOps   •   -📙 Documentação \ No newline at end of file +📙 Documentação diff --git a/tests/test_documentation_links.py b/tests/test_documentation_links.py new file mode 100644 index 000000000..35d0699db --- /dev/null +++ b/tests/test_documentation_links.py @@ -0,0 +1,45 @@ +"""Test for documentation links to ensure they are valid and accessible.""" + +import pytest +import requests +from urllib.parse import urlparse + + +class TestDocumentationLinks: + """Test class for validating documentation links.""" + + @pytest.mark.parametrize("url", [ + "https://github.com/AgentOps-AI/agentops/blob/main/examples/crewai/job_posting.py", + "https://github.com/AgentOps-AI/agentops/blob/main/examples/crewai/markdown_validator.py", + ]) + def test_agentops_example_links_are_accessible(self, url): + """Test that AgentOps example links in documentation are accessible.""" + try: + response = requests.get(url, timeout=10) + assert response.status_code == 200, f"URL {url} returned status code {response.status_code}" + + parsed_url = urlparse(url) + assert parsed_url.scheme in ['http', 'https'], f"URL {url} should use http or https protocol" + assert parsed_url.netloc, f"URL {url} should have a valid domain" + + except requests.exceptions.RequestException as e: + pytest.fail(f"Failed to access URL {url}: {str(e)}") + + def test_agentops_examples_contain_agentops_implementation(self): + """Test that the linked examples actually contain AgentOps implementation.""" + urls = [ + "https://raw.githubusercontent.com/AgentOps-AI/agentops/main/examples/crewai/job_posting.py", + "https://raw.githubusercontent.com/AgentOps-AI/agentops/main/examples/crewai/markdown_validator.py", + ] + + for url in urls: + try: + response = requests.get(url, timeout=10) + assert response.status_code == 200, f"Could not fetch raw content from {url}" + + content = response.text.lower() + assert "agentops" in content, f"Example at {url} does not contain AgentOps implementation" + assert "import agentops" in content or "from agentops" in content, f"Example at {url} does not import AgentOps" + + except requests.exceptions.RequestException as e: + pytest.fail(f"Failed to fetch content from {url}: {str(e)}")