parent
							
								
									d44ecf5086
								
							
						
					
					
						commit
						bebdee3709
					
				| 
						 | 
					@ -139,7 +139,7 @@ public enum EmbeddedDatabaseConnection {
 | 
				
			||||||
	 * database type.
 | 
						 * database type.
 | 
				
			||||||
	 * @param driverClass the driver class
 | 
						 * @param driverClass the driver class
 | 
				
			||||||
	 * @return true if the driver class is one of the embedded types
 | 
						 * @return true if the driver class is one of the embedded types
 | 
				
			||||||
	 * @deprecated since 2.4.0 in favor of {@link #isEmbedded(String, String)}
 | 
						 * @deprecated since 2.3.5 in favor of {@link #isEmbedded(String, String)}
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	@Deprecated
 | 
						@Deprecated
 | 
				
			||||||
	public static boolean isEmbedded(String driverClass) {
 | 
						public static boolean isEmbedded(String driverClass) {
 | 
				
			||||||
| 
						 | 
					@ -154,7 +154,14 @@ public enum EmbeddedDatabaseConnection {
 | 
				
			||||||
	 * @return true if the driver class and url refer to an embedded database
 | 
						 * @return true if the driver class and url refer to an embedded database
 | 
				
			||||||
	 */
 | 
						 */
 | 
				
			||||||
	public static boolean isEmbedded(String driverClass, String url) {
 | 
						public static boolean isEmbedded(String driverClass, String url) {
 | 
				
			||||||
		return driverClass != null && getEmbeddedDatabaseConnection(driverClass).isEmbeddedUrl(url);
 | 
							if (driverClass == null) {
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							EmbeddedDatabaseConnection connection = getEmbeddedDatabaseConnection(driverClass);
 | 
				
			||||||
 | 
							if (connection == NONE) {
 | 
				
			||||||
 | 
								return false;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							return (url == null || connection.isEmbeddedUrl(url));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	private static EmbeddedDatabaseConnection getEmbeddedDatabaseConnection(String driverClass) {
 | 
						private static EmbeddedDatabaseConnection getEmbeddedDatabaseConnection(String driverClass) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -92,18 +92,27 @@ class EmbeddedDatabaseConnectionTests {
 | 
				
			||||||
				.withMessageContaining("DatabaseName must not be empty");
 | 
									.withMessageContaining("DatabaseName must not be empty");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@ParameterizedTest(name = "{1}")
 | 
						@ParameterizedTest(name = "{0} - {1}")
 | 
				
			||||||
	@MethodSource("embeddedDriverAndUrlParameters")
 | 
						@MethodSource("embeddedDriverAndUrlParameters")
 | 
				
			||||||
	void isEmbeddedWithDriverAndUrl(EmbeddedDatabaseConnection connection, String url, boolean embedded) {
 | 
						void isEmbeddedWithDriverAndUrl(String driverClassName, String url, boolean embedded) {
 | 
				
			||||||
		assertThat(EmbeddedDatabaseConnection.isEmbedded(connection.getDriverClassName(), url)).isEqualTo(embedded);
 | 
							assertThat(EmbeddedDatabaseConnection.isEmbedded(driverClassName, url)).isEqualTo(embedded);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	static Object[] embeddedDriverAndUrlParameters() {
 | 
						static Object[] embeddedDriverAndUrlParameters() {
 | 
				
			||||||
		return new Object[] { new Object[] { EmbeddedDatabaseConnection.H2, "jdbc:h2:~/test", false },
 | 
							return new Object[] {
 | 
				
			||||||
				new Object[] { EmbeddedDatabaseConnection.H2, "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", true },
 | 
									new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), "jdbc:h2:~/test", false },
 | 
				
			||||||
				new Object[] { EmbeddedDatabaseConnection.HSQLDB, "jdbc:hsqldb:hsql://localhost", false },
 | 
									new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1",
 | 
				
			||||||
				new Object[] { EmbeddedDatabaseConnection.HSQLDB, "jdbc:hsqldb:mem:test", true },
 | 
											true },
 | 
				
			||||||
				new Object[] { EmbeddedDatabaseConnection.DERBY, "jdbc:derby:memory:test", true } };
 | 
									new Object[] { EmbeddedDatabaseConnection.H2.getDriverClassName(), null, true },
 | 
				
			||||||
 | 
									new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), "jdbc:hsqldb:hsql://localhost",
 | 
				
			||||||
 | 
											false },
 | 
				
			||||||
 | 
									new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), "jdbc:hsqldb:mem:test", true },
 | 
				
			||||||
 | 
									new Object[] { EmbeddedDatabaseConnection.HSQLDB.getDriverClassName(), null, true },
 | 
				
			||||||
 | 
									new Object[] { EmbeddedDatabaseConnection.DERBY.getDriverClassName(), "jdbc:derby:memory:test", true },
 | 
				
			||||||
 | 
									new Object[] { EmbeddedDatabaseConnection.DERBY.getDriverClassName(), null, true },
 | 
				
			||||||
 | 
									new Object[] { "com.mysql.cj.jdbc.Driver", "jdbc:mysql:mem:test", false },
 | 
				
			||||||
 | 
									new Object[] { "com.mysql.cj.jdbc.Driver", null, false },
 | 
				
			||||||
 | 
									new Object[] { null, "jdbc:none:mem:test", false }, new Object[] { null, null, false } };
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@Test
 | 
						@Test
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue