1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00
tags

Conflicts:
	src/test/java/io/github/thebusybiscuit/slimefun4/testing/TestUtilities.java
This commit is contained in:
TheBusyBiscuit 2020-10-05 10:03:44 +02:00
commit 060170c12d
14 changed files with 58 additions and 107 deletions

9
.github/configs/wiki-schema.json vendored Normal file
View File

@ -0,0 +1,9 @@
{
"type" : "object",
"additionalProperties" : false,
"patternProperties" : {
"^[A-Z0-9_]+$" : {
"type" : "string"
}
}
}

View File

@ -12,7 +12,7 @@ jobs:
steps:
- name: Approve via actions
uses: hmarr/auto-approve-action@v2.0.0
if: github.actor == 'gitlocalize-app[bot]' || github.actor == 'renovate[bot]'
if: github.actor == 'gitlocalize-app[bot]'
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Approve via TheBusyBot

24
.github/workflows/json-validator.yml vendored Normal file
View File

@ -0,0 +1,24 @@
name: Validate JSON
on:
push:
paths:
- 'src/main/resources/wiki.json'
pull_request:
paths:
- 'src/main/resources/wiki.json'
jobs:
validate:
name: Validate JSON
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Validate JSON
uses: docker://orrosenblatt/validate-json-action:latest@sha256:02370758b8b199e0477da11ecfdd498c75c561685056b5c31b925a4ab95df7f4
env:
INPUT_SCHEMA: '.github/configs/wiki-schema.json'
INPUT_JSONS: 'src/main/resources/wiki.json'

View File

@ -20,4 +20,4 @@ jobs:
- name: YAML Linter
uses: ibiqlik/action-yamllint@v1.0.0
with:
config_file: '.github/yaml-linter-config.yml'
config_file: '.github/configs/yaml-linter.yml'

View File

@ -311,7 +311,7 @@
<dependency>
<groupId>com.github.seeseemelk</groupId>
<artifactId>MockBukkit-v1.16</artifactId>
<version>0.7.0</version>
<version>0.10.0</version>
<scope>test</scope>
<exclusions>
<exclusion>

View File

@ -1,14 +1,13 @@
package io.github.thebusybiscuit.slimefun4.testing;
import be.seeseemelk.mockbukkit.ServerMock;
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.slimefun4.api.player.PlayerProfile;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem;
import io.github.thebusybiscuit.slimefun4.testing.mocks.MockSlimefunItem;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import static org.mockito.Mockito.when;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import javax.annotation.Nonnull;
import org.bukkit.Material;
import org.bukkit.NamespacedKey;
import org.bukkit.OfflinePlayer;
@ -19,11 +18,14 @@ import org.bukkit.plugin.Plugin;
import org.junit.jupiter.api.Assertions;
import org.mockito.Mockito;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import static org.mockito.Mockito.when;
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.slimefun4.api.player.PlayerProfile;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.implementation.items.VanillaItem;
import io.github.thebusybiscuit.slimefun4.testing.mocks.MockSlimefunItem;
import me.mrCookieSlime.Slimefun.Lists.RecipeType;
import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
public final class TestUtilities {
@ -55,7 +57,8 @@ public final class TestUtilities {
return item;
}
public static PlayerProfile awaitProfile(OfflinePlayer player) throws InterruptedException {
@Nonnull
public static PlayerProfile awaitProfile(@Nonnull OfflinePlayer player) throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
AtomicReference<PlayerProfile> ref = new AtomicReference<>();
@ -68,72 +71,4 @@ public final class TestUtilities {
latch.await(2, TimeUnit.SECONDS);
return ref.get();
}
public static void registerDefaultTags(ServerMock server) {
// We really don't need these to be accurate, just fill them with some examples
// that approximate the actual content
server.createMaterialTag(NamespacedKey.minecraft("logs"), Material.OAK_LOG,
Material.STRIPPED_OAK_LOG, Material.OAK_WOOD, Material.STRIPPED_OAK_WOOD,
Material.ACACIA_LOG, Material.STRIPPED_ACACIA_LOG, Material.ACACIA_WOOD, Material.STRIPPED_ACACIA_WOOD
);
server.createMaterialTag(NamespacedKey.minecraft("wooden_trapdoors"), Material.OAK_TRAPDOOR,
Material.BIRCH_TRAPDOOR, Material.SPRUCE_TRAPDOOR, Material.JUNGLE_TRAPDOOR,
Material.ACACIA_TRAPDOOR, Material.DARK_OAK_TRAPDOOR
);
server.createMaterialTag(NamespacedKey.minecraft("wooden_slabs"), Material.OAK_SLAB, Material.BIRCH_SLAB,
Material.JUNGLE_SLAB, Material.SPRUCE_SLAB, Material.ACACIA_SLAB, Material.DARK_OAK_SLAB
);
server.createMaterialTag(NamespacedKey.minecraft("wooden_fences"), Material.OAK_FENCE, Material.BIRCH_FENCE,
Material.JUNGLE_FENCE, Material.SPRUCE_FENCE, Material.ACACIA_FENCE, Material.DARK_OAK_FENCE
);
server.createMaterialTag(NamespacedKey.minecraft("planks"), Material.OAK_PLANKS, Material.BIRCH_PLANKS,
Material.SPRUCE_PLANKS, Material.JUNGLE_PLANKS, Material.ACACIA_PLANKS, Material.DARK_OAK_PLANKS
);
server.createMaterialTag(NamespacedKey.minecraft("small_flowers"), Material.POPPY, Material.DANDELION,
Material.AZURE_BLUET, Material.LILY_OF_THE_VALLEY
);
server.createMaterialTag(NamespacedKey.minecraft("leaves"), Material.OAK_LEAVES, Material.BIRCH_LEAVES,
Material.SPRUCE_LEAVES, Material.JUNGLE_LEAVES, Material.ACACIA_LEAVES, Material.DARK_OAK_LEAVES
);
server.createMaterialTag(NamespacedKey.minecraft("saplings"), Material.OAK_SAPLING, Material.BIRCH_SAPLING,
Material.SPRUCE_SAPLING, Material.JUNGLE_SAPLING, Material.ACACIA_SAPLING, Material.DARK_OAK_SAPLING
);
server.createMaterialTag(NamespacedKey.minecraft("coral_blocks"), Material.BRAIN_CORAL_BLOCK,
Material.BUBBLE_CORAL_BLOCK, Material.FIRE_CORAL_BLOCK, Material.HORN_CORAL_BLOCK, Material.TUBE_CORAL_BLOCK
);
server.createMaterialTag(NamespacedKey.minecraft("corals"), Material.BRAIN_CORAL, Material.BUBBLE_CORAL,
Material.FIRE_CORAL, Material.HORN_CORAL, Material.TUBE_CORAL
);
server.createMaterialTag(NamespacedKey.minecraft("ice"), Material.ICE, Material.PACKED_ICE,
Material.FROSTED_ICE, Material.BLUE_ICE
);
server.createMaterialTag(NamespacedKey.minecraft("boats"), Material.BIRCH_BOAT, Material.ACACIA_BOAT,
Material.DARK_OAK_BOAT, Material.JUNGLE_BOAT, Material.OAK_BOAT, Material.SPRUCE_BOAT
);
server.createMaterialTag(NamespacedKey.minecraft("wooden_buttons"), Material.BIRCH_BUTTON,
Material.ACACIA_BUTTON, Material.SPRUCE_BUTTON, Material.DARK_OAK_BUTTON,
Material.JUNGLE_BOAT, Material.OAK_BUTTON
);
server.createMaterialTag(NamespacedKey.minecraft("signs"), Material.SPRUCE_SIGN, Material.ACACIA_SIGN,
Material.OAK_SIGN, Material.JUNGLE_SIGN, Material.DARK_OAK_SIGN, Material.BIRCH_SIGN
);
server.createMaterialTag(NamespacedKey.minecraft("wooden_doors"), Material.SPRUCE_DOOR, Material.ACACIA_DOOR,
Material.OAK_DOOR, Material.JUNGLE_DOOR, Material.DARK_OAK_DOOR, Material.BIRCH_DOOR
);
server.createMaterialTag(NamespacedKey.minecraft("wooden_pressure_plates"), Material.SPRUCE_PRESSURE_PLATE,
Material.ACACIA_PRESSURE_PLATE, Material.OAK_PRESSURE_PLATE, Material.JUNGLE_PRESSURE_PLATE,
Material.DARK_OAK_PRESSURE_PLATE, Material.BIRCH_PRESSURE_PLATE
);
server.createMaterialTag(NamespacedKey.minecraft("crops"), Material.WHEAT,
Material.CARROTS, Material.POTATOES, Material.BEETROOTS
);
server.createMaterialTag(NamespacedKey.minecraft("dirt_like"), Material.DIRT, Material.PODZOL, Material.MYCELIUM);
server.createMaterialTag(NamespacedKey.minecraft("fire"), Material.FIRE, Material.SOUL_FIRE);
server.createMaterialTag(NamespacedKey.minecraft("gold_ores"), Material.GOLD_ORE);
server.createMaterialTag(NamespacedKey.minecraft("sand"), Material.SAND, Material.RED_SAND);
server.createMaterialTag(NamespacedKey.minecraft("beds"), Material.RED_BED, Material.BLUE_BED);
server.createMaterialTag(NamespacedKey.minecraft("fishes"), Material.COD, Material.SALMON);
server.createMaterialTag(NamespacedKey.minecraft("doors"), Material.OAK_DOOR, Material.IRON_DOOR);
server.createMaterialTag(NamespacedKey.minecraft("tall_flowers"), Material.PEONY, Material.SUNFLOWER);
}
}

View File

@ -17,11 +17,9 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import be.seeseemelk.mockbukkit.MockBukkit;
import be.seeseemelk.mockbukkit.ServerMock;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.implementation.setup.PostSetup;
import io.github.thebusybiscuit.slimefun4.implementation.setup.SlimefunItemSetup;
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
import me.mrCookieSlime.Slimefun.Objects.Category;
@TestMethodOrder(value = OrderAnnotation.class)
@ -31,9 +29,8 @@ class TestItemSetup {
@BeforeAll
public static void load() {
ServerMock server = MockBukkit.mock();
MockBukkit.mock();
plugin = MockBukkit.load(SlimefunPlugin.class);
TestUtilities.registerDefaultTags(server);
}
@AfterAll

View File

@ -45,7 +45,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
public static void load() {
server = MockBukkit.mock();
plugin = MockBukkit.load(SlimefunPlugin.class);
TestUtilities.registerDefaultTags(server);
}
@AfterAll
@ -83,7 +82,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
}
private static Stream<Arguments> getStrongSurfaces() throws TagMisconfigurationException {
TestUtilities.registerDefaultTags(server);
SlimefunTag.reloadAll();
return SlimefunTag.CLIMBING_PICK_STRONG_SURFACES.getValues().stream().map(Arguments::of);
}
@ -101,7 +99,6 @@ class TestClimbingPick implements SlimefunItemTest<ClimbingPick> {
}
private static Stream<Arguments> getWeakSurfaces() throws TagMisconfigurationException {
TestUtilities.registerDefaultTags(server);
SlimefunTag.reloadAll();
return SlimefunTag.CLIMBING_PICK_WEAK_SURFACES.getValues().stream().map(Arguments::of);
}

View File

@ -53,7 +53,6 @@ class TestBackpackListener {
@BeforeAll
public static void load() throws TagMisconfigurationException {
server = MockBukkit.mock();
TestUtilities.registerDefaultTags(server);
plugin = MockBukkit.load(SlimefunPlugin.class);
SlimefunTag.reloadAll();

View File

@ -35,7 +35,6 @@ class TestMultiblockListener {
@BeforeAll
public static void load() {
server = MockBukkit.mock();
TestUtilities.registerDefaultTags(server);
plugin = MockBukkit.load(SlimefunPlugin.class);
listener = new MultiBlockListener(plugin);
SlimefunItem item = TestUtilities.mockSlimefunItem(plugin, "MULTIBLOCK_LISTENER_TEST", new CustomItem(Material.DIAMOND, "&9Some multiblock item"));

View File

@ -9,7 +9,6 @@ import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import be.seeseemelk.mockbukkit.MockBukkit;
import be.seeseemelk.mockbukkit.ServerMock;
import io.github.thebusybiscuit.cscorelib2.item.CustomItem;
import io.github.thebusybiscuit.slimefun4.core.multiblocks.MultiBlock;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
@ -22,8 +21,7 @@ class TestMultiBlocks {
@BeforeAll
public static void load() {
ServerMock server = MockBukkit.mock();
TestUtilities.registerDefaultTags(server);
MockBukkit.mock();
plugin = MockBukkit.load(SlimefunPlugin.class);
}

View File

@ -15,19 +15,16 @@ import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import be.seeseemelk.mockbukkit.MockBukkit;
import be.seeseemelk.mockbukkit.ServerMock;
import io.github.thebusybiscuit.slimefun4.api.exceptions.TagMisconfigurationException;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.tags.SlimefunTag;
class TestSlimefunTags {
@BeforeAll
public static void load() {
ServerMock server = MockBukkit.mock();
MockBukkit.mock();
MockBukkit.load(SlimefunPlugin.class);
TestUtilities.registerDefaultTags(server);
}
@AfterAll

View File

@ -10,10 +10,8 @@ import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import be.seeseemelk.mockbukkit.MockBukkit;
import be.seeseemelk.mockbukkit.ServerMock;
import io.github.thebusybiscuit.slimefun4.api.exceptions.TagMisconfigurationException;
import io.github.thebusybiscuit.slimefun4.implementation.SlimefunPlugin;
import io.github.thebusybiscuit.slimefun4.testing.TestUtilities;
import io.github.thebusybiscuit.slimefun4.utils.tags.TagParser;
class TestTagParser {
@ -23,10 +21,8 @@ class TestTagParser {
@BeforeAll
public static void load() {
ServerMock server = MockBukkit.mock();
MockBukkit.mock();
plugin = MockBukkit.load(SlimefunPlugin.class);
TestUtilities.registerDefaultTags(server);
key = new NamespacedKey(plugin, "test");
}