Skip to content

Commit f57f5e9

Browse files
authored
Merge branch 'ArmDeveloperEcosystem:main' into content_review
2 parents 7aec497 + b3b5641 commit f57f5e9

15 files changed

Lines changed: 52 additions & 59 deletions

File tree

content/learning-paths/cross-platform/automate-mcp-with-testcontainers/_index.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
---
22
title: Automate MCP Server testing using Pytest and Testcontainers
33

4+
draft: true
5+
cascade:
6+
draft: true
7+
48
minutes_to_complete: 60
59

6-
who_is_this_for: This is an intermediate topic for anyone interested in automating their end-to-end testing of MCP (Model Context Protocol) servers using specialized software packages called TestContainers and PyTest.
10+
who_is_this_for: This is an introductory topic for software developers and QA engineers who want to automate integration testing of MCP (Model Context Protocol) servers using Testcontainers and PyTest.
711

812
learning_objectives:
9-
- Understand how TestContainers work for containerized testing of MCP servers.
10-
- Write integration tests for MCP servers using PyTest and TestContainers.
11-
- Configure GitHub Actions to run MCP integration tests in CI/CD pipelines.
13+
- Set up Testcontainers with PyTest for containerized testing of MCP servers
14+
- Write and run integration tests that validate MCP server functionality
15+
- Configure GitHub Actions to automate MCP server testing in CI/CD pipelines
1216

1317
prerequisites:
14-
- A machine that can run Python 3 and Docker.
15-
- Familiarity with [Docker](/install-guides/docker/) and container concepts.
16-
- Basic knowledge of Python and Pytest.
17-
- The [Arm MCP Server](https://github.com/arm/mcp) running with AI assistant client.
18+
- A computer with [Docker](/install-guides/docker/) and Python 3.11 or later installed
19+
- Basic familiarity with Python, PyTest, and container concepts
20+
- Familiarity with the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) specification
1821

1922
author: Neethu Elizabeth Simon
2023

@@ -36,6 +39,11 @@ tools_software_languages:
3639
- Testcontainers
3740
- MCP
3841

42+
shared_path: true
43+
shared_between:
44+
- servers-and-cloud-computing
45+
- laptops-and-desktops
46+
3947
further_reading:
4048
- resource:
4149
title: Arm MCP Server GitHub Repository

content/learning-paths/cross-platform/automate-mcp-with-testcontainers/introduction.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ layout: learningpathall
88

99
## What is MCP?
1010

11-
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. MCP servers provide AI models with context aware capabilities, such as code analysis, knowledge base lookups, and system introspection.
11+
The Model Context Protocol (MCP) is an open standard that enables AI assistants to securely connect to external data sources and tools. MCP servers provide AI models with context-aware capabilities, such as code analysis, knowledge base lookups, and system introspection.
1212

13-
The Arm MCP Server is a reference implementation that provides AI assistants with tools and knowledge specifically for Arm architecture development, migration, and optimization. It includes capabilities like container architecture checking, code analysis with LLVM-MCA, and access to Arm Learning Paths.
13+
The Arm MCP Server provides AI assistants with tools and knowledge specifically for Arm architecture development, migration, and optimization. It includes capabilities like container architecture checking, code analysis with LLVM-MCA, and a knowledge base with content from Arm Learning Paths and other documentation.
1414

1515
## Why automate MCP server testing?
1616

@@ -25,7 +25,7 @@ MCP servers expose multiple tools that AI assistants can invoke. As these tools
2525

2626
Testcontainers is a Python library that provides lightweight, throwaway instances of Docker containers for testing. Instead of mocking your MCP server, you can spin up the actual Docker container, run tests against it, and tear it down automatically.
2727

28-
![testcontainers alt-text#center](testcontainers.png "Figure 1. Testcontainers Flow")
28+
![Diagram showing Testcontainers workflow: test code creates a Docker container, runs tests against it, and automatically tears it down after completion#center](testcontainers.png "Figure 1. Testcontainers Flow")
2929

3030
This approach offers several benefits:
3131

content/learning-paths/cross-platform/automate-mcp-with-testcontainers/setup-environment.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@ layout: learningpathall
1010

1111
Before you begin, ensure you have the following installed on your machine:
1212

13-
- Python 3.11 or later
13+
- Python 3.11 or later with the ability to create Python virtual environments
1414
- Docker Engine or Docker Desktop
1515
- Git
1616

17+
If you are on Linux, you need the Python virtual environment package.
18+
19+
For Debian or Ubuntu, run:
20+
21+
```bash
22+
sudo apt install -y python3-venv
23+
```
24+
1725
You can verify Docker is running by executing:
1826

1927
```bash
@@ -84,12 +92,6 @@ testcontainers
8492
pytest
8593
```
8694

87-
You can also install these packages directly:
88-
89-
```bash
90-
pip install testcontainers pytest
91-
```
92-
9395
## Verify your setup
9496

9597
Run a quick verification to ensure everything is configured correctly:

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/_index.md

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
---
22
title: Deploy High-Performance Analytics with Apache Arrow and Arrow Flight on Google Cloud C4A Axion processors
33

4-
draft: true
5-
cascade:
6-
draft: true
7-
84
minutes_to_complete: 30
95

10-
who_is_this_for: This learning path is designed for data engineers, platform engineers, and developers who aim to build high-performance analytics pipelines on Arm64-based Google Cloud C4A Axion processors using Apache Arrow and Arrow Flight.
6+
who_is_this_for: This is an introductory topic for data engineers, platform engineers, and developers who aim to build high-performance analytics pipelines on Arm64-based Google Cloud C4A Axion processors using Apache Arrow and Arrow Flight.
117

128
learning_objectives:
139
- Deploy Apache Arrow–based data processing workloads on Google Cloud C4A Axion processors

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/background.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Common use cases include interactive analytics, data lake acceleration, machine
3434

3535
To learn more, visit the [Apache Arrow website](https://arrow.apache.org/) and explore the [Arrow Flight documentation](https://arrow.apache.org/docs/format/Flight.html).
3636

37-
## What you've accomplished and what's next
37+
## What you've learned and what's next
3838

3939
In this section, you learned about:
4040

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/columnar-analytics-with-arrow.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ In the arrow-data bucket after refreshing, you should now see:
226226

227227
![MinIO object browser showing dataset.orc stored inside the arrow-data bucket alt-txt#center](images/datset-orc.png "MinIO Web UI displaying dataset.orc object in arrow-data bucket")
228228

229-
## What you've accomplished and what's next
229+
## What you've learned and what's next
230230

231231
In this section, you have:
232232

@@ -238,10 +238,4 @@ In this section, you have:
238238

239239
This forms the core analytics layer used by modern engines such as Spark, DuckDB, Trino, and Polars.
240240

241-
## What's next
242-
243-
In the next section, you will enable high-speed memory-to-memory analytics using Apache Arrow Flight, demonstrating:
244-
245-
- gRPC-based data transfer
246-
- Zero-copy serialization
247-
- High-throughput analytics communication
241+
In the next section, you will enable high-speed memory-to-memory analytics using Apache Arrow Flight, demonstrating gRPC-based data transfer, zero-copy serialization, and high-throughput analytics communication.

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/environment-and-minio.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,11 @@ AWS_ACCESS_KEY_ID=minioadmin
217217

218218
to communicate with MinIO exactly like Amazon S3.
219219

220-
## What you've accomplished and what's next
220+
## What you've learned and what's next
221221

222222
- Prepared a SUSE arm64 analytics environment
223223
- Installed Apache Arrow and dependencies
224224
- Deployed MinIO as S3-compatible object storage
225225
- Configured secure access for analytics workloads
226226

227-
## What's next
228-
229227
In the next section, you will use Apache Arrow to write and read Parquet and ORC datasets from MinIO using vectorized analytics APIs.

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/firewall-setup.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Finally, select **Specified protocols and ports** under the **Protocols and port
4545

4646
![Google Cloud Console firewall rule form showing protocols and ports section with TCP selected and ports 9000,9001,8815 specified alt-txt#center](images/network-port.png "Specifying TCP ports for Apache Arrow and MinIO")
4747

48-
## What you've accomplished and what's next
48+
## What you've learned and what's next
4949

5050
You've successfully:
5151

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/high-speed-analytics-with-arrow-flight.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ Rows: 1000
133133
- Data was transferred directly from server memory
134134
- Arrow’s columnar format was preserved end-to-end
135135

136-
## What you've accomplished and what's next
136+
## What you've learned and what's next
137137

138138
In this section, you:
139139

content/learning-paths/servers-and-cloud-computing/apache_arrow_and_flight/instance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ A new browser window opens with a terminal connected to your VM.
4646

4747
![Browser-based SSH terminal window with black background showing Linux command prompt and Google Cloud branding at top alt-txt#center](images/gcp-shell.png "Terminal session connected to the VM")
4848

49-
## What you've accomplished and what's next
49+
## What you've learned and what's next
5050

5151
In this section:
5252

0 commit comments

Comments
 (0)