Skip to content

Commit c06998b

Browse files
committed
Add integration tests for cross-format migrations, error recovery, and field addition transformations
1 parent bbc1a0c commit c06998b

7 files changed

Lines changed: 1983 additions & 0 deletions

File tree

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
~ Copyright (c) 2025 Splatgames.de Software and Contributors
4+
~
5+
~ Permission is hereby granted, free of charge, to any person obtaining a copy
6+
~ of this software and associated documentation files (the "Software"), to deal
7+
~ in the Software without restriction, including without limitation the rights
8+
~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
~ copies of the Software, and to permit persons to whom the Software is
10+
~ furnished to do so, subject to the following conditions:
11+
~
12+
~ The above copyright notice and this permission notice shall be included in all
13+
~ copies or substantial portions of the Software.
14+
~
15+
~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
~ SOFTWARE.
22+
-->
23+
<project xmlns="http://maven.apache.org/POM/4.0.0"
24+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
26+
<modelVersion>4.0.0</modelVersion>
27+
28+
<parent>
29+
<groupId>de.splatgames.aether.datafixers</groupId>
30+
<artifactId>aether-datafixers</artifactId>
31+
<version>0.5.0-SNAPSHOT</version>
32+
</parent>
33+
34+
<artifactId>aether-datafixers-functional-tests</artifactId>
35+
<packaging>jar</packaging>
36+
37+
<name>Aether Datafixers :: Functional Tests</name>
38+
<description>Functional tests (E2E and integration) for Aether Datafixers</description>
39+
40+
<properties>
41+
<!-- Skip deploy for test module -->
42+
<maven.deploy.skip>true</maven.deploy.skip>
43+
<maven.install.skip>true</maven.install.skip>
44+
<!-- Skip coverage requirements for test-only module -->
45+
<jacoco.skip>true</jacoco.skip>
46+
<!-- Spring Boot version for tests -->
47+
<spring.boot.version>3.4.1</spring.boot.version>
48+
</properties>
49+
50+
<dependencies>
51+
<!-- All Aether Datafixers modules -->
52+
<dependency>
53+
<groupId>de.splatgames.aether.datafixers</groupId>
54+
<artifactId>aether-datafixers-api</artifactId>
55+
<scope>test</scope>
56+
</dependency>
57+
<dependency>
58+
<groupId>de.splatgames.aether.datafixers</groupId>
59+
<artifactId>aether-datafixers-core</artifactId>
60+
<scope>test</scope>
61+
</dependency>
62+
<dependency>
63+
<groupId>de.splatgames.aether.datafixers</groupId>
64+
<artifactId>aether-datafixers-codec</artifactId>
65+
<scope>test</scope>
66+
</dependency>
67+
<dependency>
68+
<groupId>de.splatgames.aether.datafixers</groupId>
69+
<artifactId>aether-datafixers-testkit</artifactId>
70+
<scope>test</scope>
71+
</dependency>
72+
<dependency>
73+
<groupId>de.splatgames.aether.datafixers</groupId>
74+
<artifactId>aether-datafixers-cli</artifactId>
75+
<scope>test</scope>
76+
</dependency>
77+
<dependency>
78+
<groupId>de.splatgames.aether.datafixers</groupId>
79+
<artifactId>aether-datafixers-schema-tools</artifactId>
80+
<scope>test</scope>
81+
</dependency>
82+
<dependency>
83+
<groupId>de.splatgames.aether.datafixers</groupId>
84+
<artifactId>aether-datafixers-spring-boot-starter</artifactId>
85+
<scope>test</scope>
86+
</dependency>
87+
88+
<!-- Spring Boot Test -->
89+
<dependency>
90+
<groupId>org.springframework.boot</groupId>
91+
<artifactId>spring-boot-starter-test</artifactId>
92+
<version>${spring.boot.version}</version>
93+
<scope>test</scope>
94+
</dependency>
95+
96+
<!-- JUnit 5 -->
97+
<dependency>
98+
<groupId>org.junit.jupiter</groupId>
99+
<artifactId>junit-jupiter</artifactId>
100+
<scope>test</scope>
101+
</dependency>
102+
103+
<!-- AssertJ -->
104+
<dependency>
105+
<groupId>org.assertj</groupId>
106+
<artifactId>assertj-core</artifactId>
107+
<scope>test</scope>
108+
</dependency>
109+
110+
<!-- Gson -->
111+
<dependency>
112+
<groupId>com.google.code.gson</groupId>
113+
<artifactId>gson</artifactId>
114+
<scope>test</scope>
115+
</dependency>
116+
117+
<!-- Jackson -->
118+
<dependency>
119+
<groupId>com.fasterxml.jackson.core</groupId>
120+
<artifactId>jackson-databind</artifactId>
121+
<scope>test</scope>
122+
</dependency>
123+
<dependency>
124+
<groupId>com.fasterxml.jackson.dataformat</groupId>
125+
<artifactId>jackson-dataformat-yaml</artifactId>
126+
<scope>test</scope>
127+
</dependency>
128+
<dependency>
129+
<groupId>com.fasterxml.jackson.dataformat</groupId>
130+
<artifactId>jackson-dataformat-toml</artifactId>
131+
<scope>test</scope>
132+
</dependency>
133+
<dependency>
134+
<groupId>com.fasterxml.jackson.dataformat</groupId>
135+
<artifactId>jackson-dataformat-xml</artifactId>
136+
<scope>test</scope>
137+
</dependency>
138+
139+
<!-- SnakeYAML -->
140+
<dependency>
141+
<groupId>org.yaml</groupId>
142+
<artifactId>snakeyaml</artifactId>
143+
<scope>test</scope>
144+
</dependency>
145+
</dependencies>
146+
147+
<build>
148+
<plugins>
149+
<!-- Unit tests (fast, naming: *Test.java) -->
150+
<plugin>
151+
<groupId>org.apache.maven.plugins</groupId>
152+
<artifactId>maven-surefire-plugin</artifactId>
153+
<configuration>
154+
<excludes>
155+
<exclude>**/*IT.java</exclude>
156+
<exclude>**/*E2E.java</exclude>
157+
</excludes>
158+
</configuration>
159+
</plugin>
160+
161+
<!-- Integration tests (naming: *IT.java, *E2E.java) -->
162+
<plugin>
163+
<groupId>org.apache.maven.plugins</groupId>
164+
<artifactId>maven-failsafe-plugin</artifactId>
165+
<configuration>
166+
<includes>
167+
<include>**/*IT.java</include>
168+
<include>**/*E2E.java</include>
169+
</includes>
170+
</configuration>
171+
</plugin>
172+
</plugins>
173+
</build>
174+
</project>

0 commit comments

Comments
 (0)