mirror of
https://github.com/slhaf/Partner.git
synced 2026-05-12 16:53:04 +08:00
refactor(core): migrate deprecated exceptions to new hierarchy and align tests
This commit is contained in:
@@ -34,5 +34,10 @@ public class RunnerClientTest {
|
||||
public void persistSerialize(MetaActionInfo metaActionInfo, ActionFileMetaData fileMetaData) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package work.slhaf.partner.core.action.runner.policy
|
||||
|
||||
import org.junit.jupiter.api.Assertions.*
|
||||
import org.junit.jupiter.api.Assertions.assertEquals
|
||||
import org.junit.jupiter.api.Assertions.assertFalse
|
||||
import org.junit.jupiter.api.Test
|
||||
import work.slhaf.partner.core.action.exception.ActionInitFailedException
|
||||
|
||||
class BwrapPolicyProviderTest {
|
||||
|
||||
@@ -59,28 +59,4 @@ class BwrapPolicyProviderTest {
|
||||
assertFalse(wrapped.args.contains("--unshare-net"))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `require command available throws ActionInitFailedException when command missing`() {
|
||||
val exception = assertThrows(ActionInitFailedException::class.java) {
|
||||
bwrapPolicyFileFacadeClass().requireCommandAvailable("definitely-not-found-bwrap-command")
|
||||
}
|
||||
|
||||
assertTrue(exception.message!!.contains("definitely-not-found-bwrap-command"))
|
||||
}
|
||||
}
|
||||
|
||||
private fun bwrapPolicyFileFacadeClass(): Class<*> {
|
||||
return Class.forName("work.slhaf.partner.core.action.runner.policy.BwrapPolicyProviderKt")
|
||||
}
|
||||
|
||||
private fun Class<*>.requireCommandAvailable(command: String) {
|
||||
val method = getDeclaredMethod("requireCommandAvailable", String::class.java)
|
||||
method.isAccessible = true
|
||||
try {
|
||||
method.invoke(null, command)
|
||||
} catch (e: java.lang.reflect.InvocationTargetException) {
|
||||
throw (e.targetException as? RuntimeException)
|
||||
?: (e.targetException as? Error)
|
||||
?: RuntimeException(e.targetException)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import work.slhaf.partner.core.action.ActionCapability;
|
||||
import work.slhaf.partner.core.action.entity.MetaActionInfo;
|
||||
import work.slhaf.partner.core.action.exception.MetaActionNotFoundException;
|
||||
import work.slhaf.partner.core.action.exception.ActionLookupException;
|
||||
import work.slhaf.partner.core.action.runner.RunnerClient;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
@@ -80,14 +80,14 @@ class BuiltinActionRegistryTest {
|
||||
registry.defineBuiltinAction("nil", buildMetaActionInfo("nil"), params -> null);
|
||||
|
||||
Assertions.assertEquals("hello", registry.call("builtin::echo", Map.of("value", "hello")));
|
||||
Assertions.assertEquals("{\"ok\":true}", registry.call("builtin::json", Map.of()));
|
||||
Assertions.assertEquals("{ok=true}", registry.call("builtin::json", Map.of()));
|
||||
Assertions.assertEquals("null", registry.call("builtin::nil", Map.of()));
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCallThrowsWhenMissingDefinition() {
|
||||
BuiltinActionRegistry registry = new BuiltinActionRegistry();
|
||||
Assertions.assertThrows(MetaActionNotFoundException.class, () -> registry.call("builtin::missing", Map.of()));
|
||||
Assertions.assertThrows(ActionLookupException.class, () -> registry.call("builtin::missing", Map.of()));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -201,5 +201,10 @@ class BuiltinDynamicActionProviderTest {
|
||||
public void persistSerialize(MetaActionInfo metaActionInfo, ActionFileMetaData fileMetaData) {
|
||||
persistCalled = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user