From 7b3601f59dedf67ffb36fd359f88b2c816e281fa Mon Sep 17 00:00:00 2001 From: Ziggy Date: Sat, 22 Jun 2024 02:21:02 +0200 Subject: [PATCH] Testing DSL now sends CmdSceneReady after character selection like a real game client would --- .../projectswg/holocore/headless/CharacterSelectionScreen.kt | 2 ++ .../com/projectswg/holocore/test/runners/AcceptanceTest.kt | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/test/java/com/projectswg/holocore/headless/CharacterSelectionScreen.kt b/src/test/java/com/projectswg/holocore/headless/CharacterSelectionScreen.kt index d8386a65f..734fd4a77 100644 --- a/src/test/java/com/projectswg/holocore/headless/CharacterSelectionScreen.kt +++ b/src/test/java/com/projectswg/holocore/headless/CharacterSelectionScreen.kt @@ -29,6 +29,7 @@ package com.projectswg.holocore.headless import com.projectswg.common.network.packets.swg.login.ClientIdMsg import com.projectswg.common.network.packets.swg.login.ClientPermissionsMessage import com.projectswg.common.network.packets.swg.login.creation.* +import com.projectswg.common.network.packets.swg.zone.CmdSceneReady import com.projectswg.common.network.packets.swg.zone.insertion.SelectCharacter import com.projectswg.holocore.test.resources.GenericPlayer import java.lang.RuntimeException @@ -74,6 +75,7 @@ class CharacterSelectionScreen internal constructor(val player: GenericPlayer) { sendPacket(player, SelectCharacter(characterId)) sendPacket(player, ClientIdMsg()) player.waitForNextPacket(ClientPermissionsMessage::class.java, 50, TimeUnit.MILLISECONDS) ?: throw IllegalStateException("Failed to receive client permissions message in time") + sendPacket(player, CmdSceneReady()) return ZonedInCharacter(player) } diff --git a/src/test/java/com/projectswg/holocore/test/runners/AcceptanceTest.kt b/src/test/java/com/projectswg/holocore/test/runners/AcceptanceTest.kt index 0fe4e2ed8..e5c6712a2 100644 --- a/src/test/java/com/projectswg/holocore/test/runners/AcceptanceTest.kt +++ b/src/test/java/com/projectswg/holocore/test/runners/AcceptanceTest.kt @@ -1,5 +1,5 @@ /*********************************************************************************** - * Copyright (c) 2023 /// Project SWG /// www.projectswg.com * + * Copyright (c) 2024 /// Project SWG /// www.projectswg.com * * * * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on * * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. * @@ -57,6 +57,7 @@ import com.projectswg.holocore.services.support.global.zone.creation.CharacterCr import com.projectswg.holocore.services.support.global.zone.sui.SuiService import com.projectswg.holocore.services.support.objects.SimulatedObjectStorage import com.projectswg.holocore.services.support.objects.awareness.AwarenessService +import com.projectswg.holocore.services.support.objects.awareness.ClientAwarenessService import com.projectswg.holocore.services.support.objects.items.ContainerService import com.projectswg.holocore.services.support.objects.radials.RadialService import org.junit.jupiter.api.AfterEach @@ -78,6 +79,7 @@ abstract class AcceptanceTest : TestRunnerSynchronousIntents() { @BeforeEach fun setUpServices() { + registerService(ClientAwarenessService()) registerService(CharacterLookupService()) registerService(SimulatedObjectStorage()) registerService(AwarenessService())