Skip to content

Feature/issue 145 update code templates aaa #152

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Feb 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions sqldev/src/main/java/org/utplsql/sqldev/oddgen/RunGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -138,25 +138,25 @@ public String generateProlog(final Connection conn, final List<Node> nodes) {
final LinkedHashMap<String, String> params = dedupNodes.get(0).getParams();
final StringBuilder sb = new StringBuilder();
if (YES.equals(params.get(RESET_PACKAGE))) {
sb.append("EXECUTE dbms_session.reset_package;\n");
sb.append("execute dbms_session.reset_package;\n");
}
sb.append("SET SERVEROUTPUT ON SIZE UNLIMITED\n");
sb.append("set serveroutput on size unlimited\n");
if (YES.equals(params.get(CLEAR_SCREEN))) {
sb.append("CLEAR SCREEN\n");
sb.append("clear screen\n");
}
if (dedupNodes.size() == 1) {
sb.append("EXECUTE ut.run('");
sb.append("execute ut.run('");
sb.append(getPath(dedupNodes.get(0), conn));
sb.append("');\n");
} else {
final List<String> paths = dedupNodes.stream().map(node -> getPath(node, conn)).collect(Collectors.toList());
sb.append("BEGIN\n");
sb.append("begin\n");
sb.append("\tut.run(\n");
sb.append("\t\tut_varchar2_list(\n");
sb.append(StringTools.getCSV(paths, "\t\t\t"));
sb.append("\t\t)\n");
sb.append("\t);\n");
sb.append("END;\n");
sb.append("end;\n");
sb.append("/\n");
}
final String ret = sb.toString();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,9 +239,9 @@ public String generateProlog(final Connection conn, final List<Node> nodes) {
if (generateFiles) {
resetConsoleOutput();
saveConsoleOutput(templateTools.mkdirs(outputDirectory));
if (deleteExistingfiles) {
saveConsoleOutput(deleteFiles(outputDirectory).toString());
}
if (deleteExistingfiles) {
saveConsoleOutput(deleteFiles(outputDirectory).toString());
}
sb.append("--\n");
sb.append("-- install generated utPLSQL test packages\n");
sb.append("--\n");
Expand All @@ -251,8 +251,9 @@ public String generateProlog(final Connection conn, final List<Node> nodes) {
context.setConn(conn);
final TestTemplate testTemplate = new TestTemplate(context);
if (generateFiles) {
final String packageName = context.getTestPackagePrefix() + nodeTools.toObjectName(node)
+ context.getTestPackageSuffix();
final String packageName = context.getTestPackagePrefix().toLowerCase()
+ nodeTools.toObjectName(node).toLowerCase()
+ context.getTestPackageSuffix().toLowerCase();
final String packagePath = outputDirectory + File.separator + packageName;
saveConsoleOutput(templateTools.writeToFile(packagePath + ".pks", testTemplate.generateSpec()));
saveConsoleOutput(templateTools.writeToFile(packagePath + ".pkb", testTemplate.generateBody()));
Expand Down
41 changes: 21 additions & 20 deletions sqldev/src/main/java/org/utplsql/sqldev/oddgen/TestTemplate.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ public String generateSpec() {
final StringBuilder sb = new StringBuilder();
final String objectName = context.getObjectName().toLowerCase();
final String packageName = context.getTestPackagePrefix() + objectName + context.getTestPackageSuffix();
sb.append("CREATE OR REPLACE PACKAGE ");
sb.append("create or replace package ");
sb.append(packageName);
sb.append(" IS\n\n");
sb.append(" is\n\n");
if (context.isGenerateComments()) {
sb.append("\t/* generated by utPLSQL for SQL Developer on ");
sb.append("\t-- generated by utPLSQL for SQL Developer on ");
sb.append(today);
sb.append(" */\n\n");
sb.append("\n\n");
}
sb.append("\t--%suite(");
sb.append(packageName);
Expand All @@ -68,7 +68,7 @@ public String generateSpec() {
if (context.isDisableTests()) {
sb.append("\t--%disabled\n");
}
sb.append("\tPROCEDURE ");
sb.append("\tprocedure ");
sb.append(context.getTestUnitPrefix());
sb.append(unit);
sb.append(context.getTestUnitSuffix());
Expand All @@ -82,7 +82,7 @@ public String generateSpec() {
sb.append("\t--%endcontext\n\n");
}
}
sb.append("END ");
sb.append("end ");
sb.append(packageName);
sb.append(";\n");
sb.append("/");
Expand All @@ -93,15 +93,15 @@ public String generateSpec() {
public String generateBody() {
StringBuilder sb = new StringBuilder();
final String objectName = context.getObjectName().toLowerCase();
sb.append("CREATE OR REPLACE PACKAGE BODY ");
sb.append("create or replace package body ");
sb.append(context.getTestPackagePrefix());
sb.append(objectName);
sb.append(context.getTestPackageSuffix());
sb.append(" IS\n\n");
sb.append(" is\n\n");
if (context.isGenerateComments()) {
sb.append("\t/* generated by utPLSQL for SQL Developer on ");
sb.append("\t-- generated by utPLSQL for SQL Developer on ");
sb.append(today);
sb.append(" */\n\n");
sb.append("\n\n");
}
for (final String u : units) {
final String unit = u.toLowerCase();
Expand All @@ -116,33 +116,34 @@ public String generateBody() {
sb.append(" case ");
sb.append(i);
sb.append(": ...\n");
} else {
sb.append("\n");
}
sb.append("\t--\n");
}
sb.append("\tPROCEDURE ");
sb.append("\tprocedure ");
sb.append(procedureName);
sb.append(" IS\n");
sb.append("\t\tl_actual INTEGER := 0;\n");
sb.append("\t\tl_expected INTEGER := 1;\n");
sb.append("\tBEGIN\n");
sb.append(" is\n");
sb.append("\t\tl_actual integer := 0;\n");
sb.append("\t\tl_expected integer := 1;\n");
sb.append("\tbegin\n");
if (context.isGenerateComments()) {
sb.append("\t\t-- populate actual\n");
sb.append("\t\t-- arrange\n\n");
sb.append("\t\t-- act\n");
sb.append("\t\t-- ");
sb.append(objectName);
sb.append(".");
sb.append(unit);
sb.append(";\n\n");
sb.append("\t\t-- populate expected\n");
sb.append("\t\t-- ...\n\n");
sb.append("\t\t-- assert\n");
}
sb.append("\t\tut.expect(l_actual).to_equal(l_expected);\n");
sb.append("\tEND ");
sb.append("\tend ");
sb.append(procedureName);
sb.append(";\n\n");
}
}
sb.append("END ");
sb.append("end ");
sb.append(context.getTestPackagePrefix());
sb.append(objectName);
sb.append(context.getTestPackageSuffix());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,11 +244,11 @@ private String trimPlusNewLine(final String input) {

private CharSequence utSpecTemplate() {
StringBuilder sb = new StringBuilder();
sb.append("CREATE OR REPLACE PACKAGE ");
sb.append("create or replace package ");
sb.append(testPackagePrefixTextField.getText());
sb.append("[package_name]");
sb.append(testPackageSuffixTextField.getText());
sb.append(" IS\n\n");
sb.append(" is\n\n");
sb.append("\t--%suite\n");
if (!suitePathTextField.getText().isEmpty()) {
sb.append("\t--%suitepath(");
Expand All @@ -258,7 +258,7 @@ private CharSequence utSpecTemplate() {
sb.append("\n\t");
sb.append(utSpecProcTemplate().toString().trim().replace("\n", "\n\t"));
sb.append("\n\n");
sb.append("END ");
sb.append("end ");
sb.append(testPackagePrefixTextField.getText());
sb.append("[package_name]");
sb.append(testPackageSuffixTextField.getText());
Expand All @@ -279,7 +279,7 @@ private CharSequence utSpecProcTemplate() {
if (disableTestsCheckBox.isSelected()) {
sb.append("--%disabled\n");
}
sb.append("PROCEDURE ");
sb.append("procedure ");
sb.append(testUnitPrefixTextField.getText());
sb.append("[procedure_name]");
sb.append(testUnitSuffixTextField.getText());
Expand All @@ -296,14 +296,14 @@ private CharSequence utSpecProcTemplate() {

private CharSequence utBodyTemplate() {
StringBuilder sb = new StringBuilder();
sb.append("CREATE OR REPLACE PACKAGE BODY ");
sb.append("create or replace package body ");
sb.append(testPackagePrefixTextField.getText());
sb.append("[package_name]");
sb.append(testPackageSuffixTextField.getText());
sb.append(" IS\n\n\t");
sb.append(" is\n\n\t");
sb.append(utBodyProcTemplate().toString().trim().replace("\n", "\n\t"));
sb.append("\n\n");
sb.append("END ");
sb.append("end ");
sb.append(testPackagePrefixTextField.getText());
sb.append("[package_name]");
sb.append(testPackageSuffixTextField.getText());
Expand All @@ -328,26 +328,24 @@ private CharSequence utBodyProcTemplate() {
sb.append('\n');
sb.append("--\n");
}
sb.append("PROCEDURE ");
sb.append("procedure ");
sb.append(testUnitPrefixTextField.getText());
sb.append("[procedure_name]");
sb.append(testUnitSuffixTextField.getText());
if (withContext) {
sb.append(i);
}
sb.append(" IS\n");
sb.append("\tl_actual INTEGER := 0;\n");
sb.append("\tl_expected INTEGER := 1;\n");
sb.append("BEGIN\n");
sb.append(" is\n");
sb.append("\tl_actual integer := 0;\n");
sb.append("\tl_expected integer := 1;\n");
sb.append("begin\n");
if (generateCommentsCheckBox.isSelected()) {
sb.append("\t-- populate actual\n");
sb.append("\t-- ...\n\n");
sb.append("\t-- populate expected\n");
sb.append("\t-- ...\n\n");
sb.append("\t-- arrange\n\n");
sb.append("\t-- act\n\n");
sb.append("\t-- assert\n");
}
sb.append("\tut.expect(l_actual).to_equal(l_expected);\n");
sb.append("END ");
sb.append("end ");
sb.append(testUnitPrefixTextField.getText());
sb.append("[procedure_name]");
sb.append(testUnitSuffixTextField.getText());
Expand Down