[framework] TxCore → common-framework (ACM-FW-001)
Some checks failed
ci / test (pull_request) Failing after 6s

This commit is contained in:
forge-bot 2026-07-18 11:07:09 +00:00
parent cb8ea46749
commit 31de34e3d1

View file

@ -0,0 +1,155 @@
package com.klaro.acquirecore.framework;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
/**
* Consolidated unit tests for TxCore migration framework.
*/
class FrameworkTest {
// TxContext tests
@Test
void testTxContextDefaultConstructor() {
TxContext ctx = new TxContext();
assertNotNull(ctx.getTransactionId());
assertEquals(TxContext.TransactionStatus.INITIALIZED, ctx.getStatus());
}
@Test
void testTxContextWithServiceName() {
TxContext ctx = new TxContext("testService");
assertEquals("testService", ctx.getServiceName());
}
// TxResult tests
@Test
void testTxResultSuccess() {
TxResult<String> result = TxResult.success("data");
assertTrue(result.isSuccess());
assertEquals("data", result.getData());
}
@Test
void testTxResultFailure() {
TxResult<String> result = TxResult.failure("ERR", "message");
assertFalse(result.isSuccess());
assertEquals("ERR", result.getErrorCode());
}
// TxServiceRegistry tests
@Test
void testServiceRegistryRegisterAndGet() {
TxServiceRegistry registry = new TxServiceRegistry();
TxService service = new DefaultTxService("svc");
registry.registerService("svc", service);
assertTrue(registry.hasService("svc"));
assertEquals(service, registry.getService("svc"));
}
@Test
void testServiceRegistryUnregister() {
TxServiceRegistry registry = new TxServiceRegistry();
registry.registerService("svc", new DefaultTxService("svc"));
registry.unregisterService("svc");
assertFalse(registry.hasService("svc"));
}
@Test
void testServiceRegistryExecuteInTransaction() {
TxServiceRegistry registry = new TxServiceRegistry();
registry.registerService("svc", new DefaultTxService("svc"));
TxResult<String> result = registry.executeInTransaction("svc", ctx -> "ok");
assertTrue(result.isSuccess());
assertEquals("ok", result.getData());
}
@Test
void testServiceRegistryUnknownService() {
TxServiceRegistry registry = new TxServiceRegistry();
TxResult<String> result = registry.executeInTransaction("unknown", ctx -> "ok");
assertFalse(result.isSuccess());
assertEquals("SERVICE_NOT_FOUND", result.getErrorCode());
}
// TxTemplate tests
@Test
void testTxTemplateTxBegin() {
TxTemplate template = new TxTemplate();
TxContext ctx = template.txBegin("svc");
assertEquals("svc", ctx.getServiceName());
}
@Test
void testTxTemplateTxCommit() {
TxTemplate template = new TxTemplate();
TxContext ctx = template.txBegin();
TxResult<Void> result = template.txCommit(ctx);
assertTrue(result.isSuccess());
assertEquals(TxContext.TransactionStatus.COMMITTED, ctx.getStatus());
}
@Test
void testTxTemplateTxCommitNullContext() {
TxTemplate template = new TxTemplate();
TxResult<Void> result = template.txCommit(null);
assertFalse(result.isSuccess());
assertEquals("INVALID_CONTEXT", result.getErrorCode());
}
@Test
void testTxTemplateTxRollback() {
TxTemplate template = new TxTemplate();
TxContext ctx = template.txBegin();
TxResult<Void> result = template.txRollback(ctx, "reason");
assertTrue(result.isSuccess());
assertEquals(TxContext.TransactionStatus.ROLLED_BACK, ctx.getStatus());
assertEquals("reason", ctx.getErrorMessage());
}
// DefaultTxService tests
@Test
void testDefaultTxServiceName() {
DefaultTxService svc = new DefaultTxService("myService");
assertEquals("myService", svc.getServiceName());
}
@Test
void testDefaultTxServiceBeginTransaction() {
DefaultTxService svc = new DefaultTxService("svc");
TxContext ctx = svc.beginTransaction();
assertEquals("svc", ctx.getServiceName());
}
@Test
void testDefaultTxServiceCommit() {
DefaultTxService svc = new DefaultTxService("svc");
TxContext ctx = svc.beginTransaction();
TxResult<Void> result = svc.commit(ctx);
assertTrue(result.isSuccess());
}
@Test
void testDefaultTxServiceRollback() {
DefaultTxService svc = new DefaultTxService("svc");
TxContext ctx = svc.beginTransaction();
TxResult<Void> result = svc.rollback(ctx, "test");
assertTrue(result.isSuccess());
}
// TxExecutionException tests
@Test
void testTxExecutionExceptionMessage() {
TxExecutionException ex = new TxExecutionException("msg");
assertEquals("msg", ex.getMessage());
assertNull(ex.getContext());
}
@Test
void testTxExecutionExceptionWithContext() {
TxContext ctx = new TxContext("svc");
TxExecutionException ex = new TxExecutionException("msg", ctx);
assertEquals("msg", ex.getMessage());
assertEquals(ctx, ex.getContext());
}
}