Merged feature/webhooks into integration

This commit is contained in:
2025-06-13 20:15:06 -05:00
2 changed files with 58 additions and 11 deletions

View File

@ -22,10 +22,17 @@
package com.kingsrook.qqq.backend.module.rdbms.model.metadata;
import java.sql.Connection;
import com.kingsrook.qqq.backend.core.context.QContext;
import com.kingsrook.qqq.backend.core.instances.assessment.QInstanceAssessor;
import com.kingsrook.qqq.backend.core.logging.QLogger;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldMetaData;
import com.kingsrook.qqq.backend.core.model.metadata.fields.QFieldType;
import com.kingsrook.qqq.backend.core.model.metadata.tables.UniqueKey;
import com.kingsrook.qqq.backend.module.rdbms.BaseTest;
import com.kingsrook.qqq.backend.module.rdbms.TestUtils;
import com.kingsrook.qqq.backend.module.rdbms.jdbc.ConnectionManager;
import com.kingsrook.qqq.backend.module.rdbms.jdbc.QueryManager;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
@ -36,6 +43,9 @@ import static org.junit.jupiter.api.Assertions.assertNotEquals;
*******************************************************************************/
class RDBMSBackendAssessorTest extends BaseTest
{
private static final QLogger LOG = QLogger.getLogger(RDBMSBackendAssessorTest.class);
/*******************************************************************************
**
@ -46,7 +56,7 @@ class RDBMSBackendAssessorTest extends BaseTest
TestUtils.primeTestDatabase("prime-test-database.sql");
QInstanceAssessor assessor = new QInstanceAssessor(QContext.getQInstance());
assessor.assess();
assessor.printSummary();
System.out.println(assessor.getSummary());
assertEquals(0, assessor.getErrors().size());
assertEquals(0, assessor.getWarnings().size());
assertEquals(0, assessor.getExitCode());
@ -58,7 +68,40 @@ class RDBMSBackendAssessorTest extends BaseTest
**
*******************************************************************************/
@Test
void testIssues() throws Exception
void testTableIssues() throws Exception
{
///////////////////////////////////////////////////////////////////////////////
// start from primed database, but make a few alters to it and the meta-data //
///////////////////////////////////////////////////////////////////////////////
TestUtils.primeTestDatabase("prime-test-database.sql");
ConnectionManager connectionManager = new ConnectionManager();
try(Connection connection = connectionManager.getConnection(TestUtils.defineBackend()))
{
QueryManager.executeUpdate(connection, "ALTER TABLE person ADD COLUMN suffix VARCHAR(20)");
QueryManager.executeUpdate(connection, "ALTER TABLE person ADD UNIQUE u_name (first_name, last_name)");
}
QContext.getQInstance().getTable(TestUtils.TABLE_NAME_PERSON)
.withField(new QFieldMetaData("middleName", QFieldType.STRING))
.withUniqueKey(new UniqueKey("firstName", "middleName", "lastName"));
///////////////////////////
// un-prime the database //
///////////////////////////
QInstanceAssessor assessor = new QInstanceAssessor(QContext.getQInstance());
assessor.assess();
LOG.info(assessor.getSummary());
assertNotEquals(0, assessor.getErrors().size());
assertNotEquals(0, assessor.getExitCode());
}
/*******************************************************************************
**
*******************************************************************************/
@Test
void testTotalFailure() throws Exception
{
///////////////////////////
// un-prime the database //
@ -66,7 +109,7 @@ class RDBMSBackendAssessorTest extends BaseTest
TestUtils.primeTestDatabase("drop-test-database.sql");
QInstanceAssessor assessor = new QInstanceAssessor(QContext.getQInstance());
assessor.assess();
assessor.printSummary();
System.out.println(assessor.getSummary());
assertNotEquals(0, assessor.getErrors().size());
assertNotEquals(0, assessor.getExitCode());
}