mirror of
https://github.com/Kingsrook/qqq.git
synced 2025-07-17 20:50:44 +00:00
Merged feature/webhooks into integration
This commit is contained in:
@ -77,22 +77,24 @@ public class QInstanceAssessor
|
||||
**
|
||||
*******************************************************************************/
|
||||
@SuppressWarnings("checkstyle:AvoidEscapedUnicodeCharacters")
|
||||
public void printSummary()
|
||||
public String getSummary()
|
||||
{
|
||||
StringBuilder rs = new StringBuilder();
|
||||
|
||||
///////////////////////////
|
||||
// print header & errors //
|
||||
///////////////////////////
|
||||
if(CollectionUtils.nullSafeIsEmpty(errors))
|
||||
{
|
||||
System.out.println("Assessment passed with no errors! \uD83D\uDE0E");
|
||||
rs.append("Assessment passed with no errors! \uD83D\uDE0E\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println("Assessment found the following " + StringUtils.plural(errors, "error", "errors") + ": \uD83D\uDE32");
|
||||
rs.append("Assessment found the following ").append(StringUtils.plural(errors, "error", "errors")).append(": \uD83D\uDE32\n");
|
||||
|
||||
for(String error : errors)
|
||||
{
|
||||
System.out.println(" - " + error);
|
||||
rs.append(" - ").append(error).append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,11 +103,11 @@ public class QInstanceAssessor
|
||||
/////////////////////////////////////
|
||||
if(CollectionUtils.nullSafeHasContents(warnings))
|
||||
{
|
||||
System.out.println("\nAssessment found the following " + StringUtils.plural(warnings, "warning", "warnings") + ": \uD83E\uDD28");
|
||||
rs.append("\nAssessment found the following ").append(StringUtils.plural(warnings, "warning", "warnings")).append(": \uD83E\uDD28\n");
|
||||
|
||||
for(String warning : warnings)
|
||||
{
|
||||
System.out.println(" - " + warning);
|
||||
rs.append(" - ").append(warning).append("\n");
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,13 +116,15 @@ public class QInstanceAssessor
|
||||
//////////////////////////////////////////
|
||||
if(CollectionUtils.nullSafeHasContents(suggestions))
|
||||
{
|
||||
System.out.println("\nThe following " + StringUtils.plural(suggestions, "fix is", "fixes are") + " suggested: \uD83E\uDD13");
|
||||
rs.append("\nThe following ").append(StringUtils.plural(suggestions, "fix is", "fixes are")).append(" suggested: \uD83E\uDD13\n");
|
||||
|
||||
for(String suggestion : suggestions)
|
||||
{
|
||||
System.out.println("\n" + suggestion + "\n");
|
||||
rs.append("\n").append(suggestion).append("\n\n");
|
||||
}
|
||||
}
|
||||
|
||||
return (rs.toString());
|
||||
}
|
||||
|
||||
|
||||
|
@ -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());
|
||||
}
|
||||
|
Reference in New Issue
Block a user