Skip to content

Commit 3c2d773

Browse files
committed
added backend for weathertop2
1 parent be8209c commit 3c2d773

20 files changed

+2385
-1
lines changed

.tools/weathertop2/Readme.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Weathertop Test Runner
2+
3+
## Overview
4+
5+
Welcome to the Weathertop Test Runner, a comprehensive testing tool designed to validate and ensure the reliability of various AWS code examples. This tool is built to help developers and DevOps engineers verify that their AWS-based applications and services are functioning as expected.
6+
7+
## Features
8+
9+
- **Automated Testing**: Run automated tests on AWS code examples to ensure they meet the required standards.
10+
- **Comprehensive Coverage**: Supports a wide range of AWS services and functionalities.
11+
- **Easy Integration**: Simple to integrate into your existing CI/CD pipelines.
12+
- **Detailed Reports**: Generates detailed test reports to help you identify and fix issues quickly.
13+
- **Customizable**: Allows for custom test scenarios to meet specific project needs.
14+
15+
## Getting Started
16+
17+
### Prerequisites
18+
19+
Before you begin, ensure you have the following installed:
20+
21+
- Python 3.8 or higher
22+
- AWS CLI configured with appropriate credentials
23+
- `pip` package manager
24+
25+
### Installation
26+
27+
1. **Clone the Repository**
28+
29+
```bash
30+
git clone https://github.com/your-repo/weathertop-test-runner.git
31+
cd weathertop-test-runner
32+
```
33+
34+
2. **Create a Virtual Environment**
35+
36+
```bash
37+
python -m venv venv
38+
source venv/bin/activate # On Windows use `venv\\Scripts\\activate`
39+
```
40+
41+
3. **Install Dependencies**
42+
43+
```bash
44+
pip install -r requirements.txt
45+
```
46+
47+
### Configuration
48+
49+
Create a configuration file `config.yaml` to specify your AWS settings and test parameters. Here’s an example configuration:
50+
51+
```yaml
52+
aws:
53+
region: us-west-2
54+
profile: default
55+
56+
tests:
57+
- example_service_1:
58+
parameters:
59+
parameter1: value1
60+
parameter2: value2
61+
- example_service_2:
62+
parameters:
63+
parameterA: valueA
64+
parameterB: valueB

.tools/weathertop2/backend/pom.xml

Lines changed: 211 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<modelVersion>4.0.0</modelVersion>
6+
7+
<groupId>org.example</groupId>
8+
<artifactId>Weathertop</artifactId>
9+
<version>1.0-SNAPSHOT</version>
10+
11+
<properties>
12+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13+
<java.version>17</java.version>
14+
<maven.compiler.target>17</maven.compiler.target>
15+
<maven.compiler.source>17</maven.compiler.source>
16+
</properties>
17+
18+
<build>
19+
<plugins>
20+
<plugin>
21+
<groupId>org.apache.maven.plugins</groupId>
22+
<artifactId>maven-compiler-plugin</artifactId>
23+
<version>3.1</version>
24+
<configuration>
25+
<source>${java.version}</source>
26+
<target>${java.version}</target>
27+
</configuration>
28+
</plugin>
29+
<plugin>
30+
<groupId>org.apache.maven.plugins</groupId>
31+
<artifactId>maven-surefire-plugin</artifactId>
32+
<version>3.5.2</version>
33+
</plugin>
34+
<plugin>
35+
<groupId>org.apache.maven.plugins</groupId>
36+
<artifactId>maven-shade-plugin</artifactId>
37+
<version>3.2.2</version>
38+
<configuration>
39+
<createDependencyReducedPom>false</createDependencyReducedPom>
40+
</configuration>
41+
<executions>
42+
<execution>
43+
<phase>package</phase>
44+
<goals>
45+
<goal>shade</goal>
46+
</goals>
47+
</execution>
48+
</executions>
49+
</plugin>
50+
</plugins>
51+
</build>
52+
53+
<dependencyManagement>
54+
<dependencies>
55+
<!-- Your existing AWS SDK BOM -->
56+
<dependency>
57+
<groupId>software.amazon.awssdk</groupId>
58+
<artifactId>bom</artifactId>
59+
<version>2.29.45</version>
60+
<type>pom</type>
61+
<scope>import</scope>
62+
</dependency>
63+
<!-- ADD Jackson BOM here to fix version conflicts -->
64+
<dependency>
65+
<groupId>com.fasterxml.jackson</groupId>
66+
<artifactId>jackson-bom</artifactId>
67+
<version>2.17.0</version>
68+
<type>pom</type>
69+
<scope>import</scope>
70+
</dependency>
71+
</dependencies>
72+
</dependencyManagement>
73+
74+
<dependencies>
75+
<dependency>
76+
<groupId>org.junit.jupiter</groupId>
77+
<artifactId>junit-jupiter</artifactId>
78+
<version>5.11.4</version>
79+
<scope>test</scope>
80+
</dependency>
81+
<dependency>
82+
<groupId>com.amazonaws</groupId>
83+
<artifactId>aws-lambda-java-events</artifactId>
84+
<version>3.11.0</version>
85+
</dependency>
86+
<dependency>
87+
<groupId>software.amazon.awssdk</groupId>
88+
<artifactId>dynamodb</artifactId>
89+
</dependency>
90+
<dependency>
91+
<groupId>software.amazon.awssdk</groupId>
92+
<artifactId>iam</artifactId>
93+
</dependency>
94+
<dependency>
95+
<groupId>software.amazon.awssdk</groupId>
96+
<artifactId>cloudwatch</artifactId>
97+
</dependency>
98+
<dependency>
99+
<groupId>software.amazon.awssdk</groupId>
100+
<artifactId>cloudwatchevents</artifactId>
101+
</dependency>
102+
<dependency>
103+
<groupId>software.amazon.awssdk</groupId>
104+
<artifactId>cloudwatchlogs</artifactId>
105+
</dependency>
106+
<dependency>
107+
<groupId>software.amazon.awssdk</groupId>
108+
<artifactId>ecr</artifactId>
109+
</dependency>
110+
<dependency>
111+
<groupId>software.amazon.awssdk</groupId>
112+
<artifactId>ecs</artifactId>
113+
</dependency>
114+
115+
<dependency>
116+
<groupId>software.amazon.awssdk</groupId>
117+
<artifactId>s3</artifactId>
118+
</dependency>
119+
<dependency>
120+
<groupId>software.amazon.awssdk</groupId>
121+
<artifactId>dynamodb-enhanced</artifactId>
122+
</dependency>
123+
<dependency>
124+
<groupId>software.amazon.awssdk</groupId>
125+
<artifactId>secretsmanager</artifactId>
126+
</dependency>
127+
<dependency>
128+
<groupId>com.google.code.gson</groupId>
129+
<artifactId>gson</artifactId>
130+
<version>2.10.1</version>
131+
</dependency>
132+
<dependency>
133+
<groupId>com.fasterxml.jackson.core</groupId>
134+
<artifactId>jackson-core</artifactId>
135+
<version>2.14.2</version>
136+
</dependency>
137+
<dependency>
138+
<groupId>com.fasterxml.jackson.core</groupId>
139+
<artifactId>jackson-databind</artifactId>
140+
<version>2.14.2</version>
141+
</dependency>
142+
<dependency>
143+
<groupId>software.amazon.awssdk</groupId>
144+
<artifactId>kms</artifactId>
145+
</dependency>
146+
<dependency>
147+
<groupId>software.amazon.awssdk</groupId>
148+
<artifactId>eventbridge</artifactId>
149+
</dependency>
150+
<!-- Mockito -->
151+
<dependency>
152+
<groupId>org.mockito</groupId>
153+
<artifactId>mockito-core</artifactId>
154+
<version>3.6.0</version>
155+
<scope>test</scope>
156+
</dependency>
157+
<dependency>
158+
<groupId>org.mockito</groupId>
159+
<artifactId>mockito-junit-jupiter</artifactId>
160+
<version>3.6.0</version>
161+
<scope>test</scope>
162+
</dependency>
163+
<dependency>
164+
<groupId>com.fasterxml.jackson.datatype</groupId>
165+
<artifactId>jackson-datatype-jsr310</artifactId>
166+
<version>2.17.0</version>
167+
</dependency>
168+
<dependency>
169+
<groupId>com.cronutils</groupId>
170+
<artifactId>cron-utils</artifactId>
171+
<version>9.2.0</version> <!-- Or latest -->
172+
</dependency>
173+
<dependency>
174+
<groupId>com.fasterxml.jackson.core</groupId>
175+
<artifactId>jackson-core</artifactId>
176+
<version>2.17.0</version>
177+
</dependency>
178+
<dependency>
179+
<groupId>com.fasterxml.jackson.core</groupId>
180+
<artifactId>jackson-databind</artifactId>
181+
<version>2.17.0</version>
182+
</dependency>
183+
184+
<dependency>
185+
<groupId>software.amazon.awssdk</groupId>
186+
<artifactId>cloudwatchlogs</artifactId>
187+
</dependency>
188+
<dependency>
189+
<groupId>software.amazon.awssdk</groupId>
190+
<artifactId>ec2</artifactId>
191+
</dependency>
192+
<dependency>
193+
<groupId>org.slf4j</groupId>
194+
<artifactId>slf4j-log4j12</artifactId>
195+
<version>2.0.5</version>
196+
</dependency>
197+
<dependency>
198+
<groupId>software.amazon.awssdk</groupId>
199+
<artifactId>sso</artifactId>
200+
</dependency>
201+
<dependency>
202+
<groupId>com.amazonaws</groupId>
203+
<artifactId>aws-lambda-java-core</artifactId>
204+
<version>1.2.1</version>
205+
</dependency>
206+
<dependency>
207+
<groupId>software.amazon.awssdk</groupId>
208+
<artifactId>ssooidc</artifactId>
209+
</dependency>
210+
</dependencies>
211+
</project>

0 commit comments

Comments
 (0)