8000 Default TypeMapping is used on NULL and also empty typeMap parameter · utPLSQL/utPLSQL-java-api@952d344 · GitHub
[go: up one dir, main page]

Skip to content 8000

Commit 952d344

Browse files
committed
Default TypeMapping is used on NULL and also empty typeMap parameter
Fixes utPLSQL/utPLSQL-cli#162
1 parent ffc8425 commit 952d344

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

src/main/java/org/utplsql/api/testRunner/FileMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ private static Array buildFileMappingArray(
6464
callableStatement.setArray(
6565
++paramIdx, oraConn.createOracleArray(CustomTypes.UT_VARCHAR2_LIST, filePathsArray));
6666

67-
if (mapperOptions.getTypeMappings() == null) {
67+
if (mapperOptions.getTypeMappings() == null || mapperOptions.getTypeMappings().size() == 0) {
6868
callableStatement.setNull(++paramIdx, Types.ARRAY, CustomTypes.UT_KEY_VALUE_PAIRS);
6969
} else {
7070
callableStatement.setArray(

src/test/java/org/utplsql/api/testRunner/FileMapperIT.java

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.utplsql.api.testRunner;
22

3+
import org.junit.jupiter.api.Nested;
34
import org.junit.jupiter.api.Test;
45
import org.utplsql.api.AbstractDatabaseTest;
56
import org.utplsql.api.FileMapperOptions;
@@ -50,4 +51,37 @@ private void assertMapping(FileMapping fileMapping, String owner, String name, S
5051
assertEquals(type, fileMapping.getObjectType());
5152
}
5253

54+
@Nested
55+
class Default_type_mapping {
56+
57+
void checkTypeMapping( List<KeyValuePair> typeMappings ) throws SQLException {
58+
List<String> filePaths = java.util.Arrays.asList(
59+
"/award_bonus.prc",
60+
"/betwnstr.fnc",
61+
"/package_body.pkb",
62+
"/type_body.tpb",
63+
"/trigger.trg");
64+
FileMapperOptions mapperOptions = new FileMapperOptions(filePaths);
65+
mapperOptions.setTypeMappings(typeMappings);
66+
67+
List<FileMapping> fileMappings = FileMapper.buildFileMappingList(getConnection(), mapperOptions);
68+
69+
assertEquals("PROCEDURE", fileMappings.get(0).getObjectType());
70+
assertEquals("FUNCTION", fileMappings.get(1).getObjectType());
71+
assertEquals("PACKAGE BODY", fileMappings.get(2).getObjectType());
72+
assertEquals("TYPE BODY", fileMappings.get(3).getObjectType());
73+
assertEquals("TRIGGER", fileMappings.get(4).getObjectType());
74+
}
75+
76+
@Test
77+
void is_used_on_null_parameter() throws SQLException {
78+
checkTypeMapping(null);
79+
}
80+
81+
@Test
82+
void is_used_on_empty_parameter() throws SQLException {
83+
checkTypeMapping(new ArrayList<>());
84+
}
85+
}
86+
5387
}

0 commit comments

Comments
 (0)
0