Skip to content

Commit

Permalink
Merge pull request #65 from OneLiteFeatherNET/feature/improved_testing
Browse files Browse the repository at this point in the history
Improved Testing
  • Loading branch information
TheMeinerLP committed Aug 19, 2024
2 parents ec76969 + 7345215 commit fd40028
Show file tree
Hide file tree
Showing 73 changed files with 390 additions and 214 deletions.
20 changes: 16 additions & 4 deletions .github/workflows/build-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,20 @@ jobs:
with:
distribution: temurin
java-version: 21
- name: Cache SonarCloud packages
uses: actions/cache@v3
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Build on ${{ matrix.os }}
run: |
git config --global user.email "[email protected]"
git config --global user.name "Github Actions"
./gradlew classes
run: ./gradlew test jacocoTestReport sonar --info
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
29 changes: 17 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,23 @@ jobs:
distribution: temurin
cache: gradle
java-version: 21
- uses: actions/cache@v4
- name: Cache SonarCloud packages
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Gradle packages
uses: actions/cache@v3
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Clean Build
run: |
git config --global user.email "[email protected]"
git config --global user.name "Github Actions"
./gradlew jar
run: ./gradlew build sonar --info
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
- name: Publish to Central via Build
run: |
./gradlew publishToSonatype :testing:publishToSonatype closeAndReleaseSonatypeStagingRepository -PforceSign=true
Expand All @@ -46,4 +50,5 @@ jobs:
ORG_GRADLE_PROJECT_onelitefeatherSigningPassword: "${{ secrets.ONELITEFEATHER_GPG_PASSWORD }}"
ORG_GRADLE_PROJECT_signingKey: "${{ secrets.ONELITEFEATHER_GPG_KEY }}"
ORG_GRADLE_PROJECT_signingPassword: "${{ secrets.ONELITEFEATHER_GPG_PASSWORD }}"
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
19 changes: 15 additions & 4 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ plugins {
id("minestom.native-conventions")
alias(libs.plugins.blossom)
signing
jacoco
id("org.sonarqube") version "4.4.1.3373"
}

group = "net.onelitefeather.microtus"

version = System.getenv("TAG_VERSION") ?: "1.4.0-SNAPSHOT"
version = System.getenv("TAG_VERSION") ?: "1.5.0-SNAPSHOT"

allprojects {
group = "net.onelitefeather.microtus"
Expand Down Expand Up @@ -73,7 +75,11 @@ tasks {
minHeapSize = "512m"
maxHeapSize = "1024m"
}

jacocoTestReport {
reports {
xml.required = true
}
}

}

Expand Down Expand Up @@ -110,5 +116,10 @@ dependencies {
// Only here to ensure J9 module support for extensions and our classloaders
testCompileOnly(libs.mockito.core)
}


sonar {
properties {
property("sonar.projectKey", "OneLiteFeatherNET_Microtus")
property("sonar.organization", "onelitefeathernet")
property("sonar.host.url", "https://sonarcloud.io")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@

import net.kyori.adventure.text.Component;
import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.item.Material;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.junit.jupiter.api.Assertions.*;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class AdvancementIntegrationTest {

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@

import net.minestom.server.utils.block.BlockIterator;
import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.coordinate.Point;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.EntityType;
import net.minestom.server.entity.metadata.other.SlimeMeta;
import net.minestom.server.instance.block.Block;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.util.Arrays;
import java.util.Iterator;
Expand All @@ -19,8 +20,8 @@

import static org.junit.jupiter.api.Assertions.*;

@EnvTest
public class EntityBlockPhysicsIntegrationTest {
@ExtendWith(MicrotusExtension.class)
class EntityBlockPhysicsIntegrationTest {
private static final Point PRECISION = new Pos(0.01, 0.01, 0.01);

private static boolean checkPoints(Point expected, Point actual) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package net.minestom.server.collision;

import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.coordinate.Point;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;
Expand All @@ -10,16 +9,18 @@
import net.minestom.server.instance.block.Block;
import net.minestom.server.instance.block.BlockHandler;
import net.minestom.server.utils.NamespaceID;
import net.minestom.testing.extension.MicrotusExtension;
import org.jetbrains.annotations.NotNull;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.util.HashSet;
import java.util.Set;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class EntityBlockTouchTickIntegrationTest {
@Test
void entityPhysicsCheckTouchTick(Env env) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import net.minestom.server.instance.WorldBorder;
import net.minestom.server.ServerFlag;
import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.coordinate.Point;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;
Expand All @@ -19,13 +18,15 @@
import net.minestom.server.instance.Instance;
import net.minestom.server.instance.block.Block;
import net.minestom.server.utils.time.TimeUnit;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.util.concurrent.atomic.AtomicReference;

import static org.junit.jupiter.api.Assertions.*;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class EntityProjectileCollisionIntegrationTest {

@Test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
package net.minestom.server.collision;

import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;
import net.minestom.server.entity.Entity;
import net.minestom.server.entity.EntityType;
import net.minestom.server.instance.block.Block;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.junit.jupiter.api.Assertions.*;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class PlacementCollisionIntegrationTest {

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@
import net.minestom.server.network.packet.client.play.ClientTabCompletePacket;
import net.minestom.server.network.packet.server.play.TabCompletePacket;
import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.util.List;

import static net.minestom.server.command.builder.arguments.ArgumentType.*;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class CommandSuggestionIntegrationTest {

@Test
Expand Down Expand Up @@ -75,7 +76,7 @@ void suggestionWithDefaults(Env env) {
}

@Test
public void suggestionWithSubcommand(Env env) {
void suggestionWithSubcommand(Env env) {
var instance = env.createFlatInstance();
var connection = env.createConnection();
var player = connection.connect(instance, new Pos(0, 42, 0)).join();
Expand Down Expand Up @@ -109,7 +110,7 @@ public void suggestionWithSubcommand(Env env) {
}

@Test
public void suggestionWithTwoLiterals(Env env) {
void suggestionWithTwoLiterals(Env env) {
var instance = env.createFlatInstance();
var connection = env.createConnection();
var player = connection.connect(instance, new Pos(0, 42, 0)).join();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
import net.minestom.server.item.component.AttributeList;
import net.minestom.server.utils.NamespaceID;
import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;

@EnvTest
@ExtendWith(MicrotusExtension.class)
public class EntityAttributeTest {

@Test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
package net.minestom.server.entity;

import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.collision.BoundingBox;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.event.item.PickupItemEvent;
import net.minestom.server.instance.Instance;
import net.minestom.server.item.ItemStack;
import net.minestom.server.item.Material;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import static org.junit.jupiter.api.Assertions.assertEquals;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class EntityBoundingBoxIntegrationTest {
@Test
void pose(Env env) {
Expand Down
8 changes: 4 additions & 4 deletions src/test/java/net/minestom/server/entity/EntityFireTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
import net.minestom.server.event.entity.EntityFireExtinguishEvent;
import net.minestom.server.event.entity.EntitySetFireEvent;
import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.util.concurrent.atomic.AtomicInteger;

import static org.junit.jupiter.api.Assertions.*;

@EnvTest
public class EntityFireTest
{
@ExtendWith(MicrotusExtension.class)
public class EntityFireTest {
@Test
public void duration(Env env) {
var instance = env.createFlatInstance();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
package net.minestom.server.entity;

import net.minestom.testing.Env;
import net.minestom.testing.EnvTest;
import net.minestom.server.coordinate.Pos;
import net.minestom.testing.extension.MicrotusExtension;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;

import java.time.Duration;

import static org.junit.jupiter.api.Assertions.assertEquals;

@EnvTest
@ExtendWith(MicrotusExtension.class)
class EntityInstanceIntegrationTest {

@Test
Expand Down
Loading

0 comments on commit fd40028

Please sign in to comment.