Merge pull request #9367 from azhwani/jndidatasource
BAEL-3830: Test a mock JNDI datasource with Spring
This commit is contained in:
commit
8834be5209
@ -32,6 +32,13 @@
|
|||||||
<version>${h2.version}</version>
|
<version>${h2.version}</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- simple-jndi -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.h-thurow</groupId>
|
||||||
|
<artifactId>simple-jndi</artifactId>
|
||||||
|
<version>${simple-jndi.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- test scoped -->
|
<!-- test scoped -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -53,6 +60,8 @@
|
|||||||
<org.springframework.version>5.2.4.RELEASE</org.springframework.version>
|
<org.springframework.version>5.2.4.RELEASE</org.springframework.version>
|
||||||
<!-- persistence -->
|
<!-- persistence -->
|
||||||
<h2.version>1.4.200</h2.version>
|
<h2.version>1.4.200</h2.version>
|
||||||
|
<!-- simple-jndi -->
|
||||||
|
<simple-jndi.version>0.23.0</simple-jndi.version>
|
||||||
<!-- test scoped -->
|
<!-- test scoped -->
|
||||||
<mockito.version>3.3.3</mockito.version>
|
<mockito.version>3.3.3</mockito.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
java.naming.factory.initial=org.osjava.sj.SimpleContextFactory
|
||||||
|
org.osjava.sj.jndi.shared=true
|
||||||
|
org.osjava.sj.delimiter=.
|
||||||
|
jndi.syntax.separator=/
|
||||||
|
org.osjava.sj.space=java:/comp/env
|
||||||
|
org.osjava.sj.root=src/main/resources/jndi
|
@ -0,0 +1,5 @@
|
|||||||
|
ds.type=javax.sql.DataSource
|
||||||
|
ds.driver=org.h2.Driver
|
||||||
|
ds.url=jdbc:jdbc:h2:mem:testdb
|
||||||
|
ds.user=sa
|
||||||
|
ds.password=password
|
@ -0,0 +1,39 @@
|
|||||||
|
package com.baeldung.jndi.datasource;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import javax.naming.Context;
|
||||||
|
import javax.naming.InitialContext;
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class SimpleJNDIUnitTest {
|
||||||
|
|
||||||
|
private InitialContext initContext;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void setup() throws Exception {
|
||||||
|
this.initContext = new InitialContext();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenMockJndiDataSource_thenReturnJndiDataSource() throws Exception {
|
||||||
|
String dsString = "org.h2.Driver::::jdbc:jdbc:h2:mem:testdb::::sa";
|
||||||
|
Context envContext = (Context) this.initContext.lookup("java:/comp/env");
|
||||||
|
DataSource ds = (DataSource) envContext.lookup("datasource/ds");
|
||||||
|
|
||||||
|
assertEquals(dsString, ds.toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterEach
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
if (this.initContext != null) {
|
||||||
|
this.initContext.close();
|
||||||
|
this.initContext = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.baeldung.jndi.datasource;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertNotNull;
|
||||||
|
|
||||||
|
import javax.naming.InitialContext;
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.jdbc.datasource.DriverManagerDataSource;
|
||||||
|
import org.springframework.mock.jndi.SimpleNamingContextBuilder;
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
|
public class SimpleNamingContextBuilderUnitTest {
|
||||||
|
|
||||||
|
private InitialContext initContext;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
public void init() throws Exception {
|
||||||
|
SimpleNamingContextBuilder.emptyActivatedContextBuilder();
|
||||||
|
this.initContext = new InitialContext();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenMockJndiDataSource_thenReturnJndiDataSource() throws Exception {
|
||||||
|
this.initContext.bind("java:comp/env/jdbc/datasource", new DriverManagerDataSource("jdbc:h2:mem:testdb"));
|
||||||
|
DataSource ds = (DataSource) this.initContext.lookup("java:comp/env/jdbc/datasource");
|
||||||
|
|
||||||
|
assertNotNull(ds.getConnection());
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterEach
|
||||||
|
public void tearDown() throws Exception {
|
||||||
|
if (this.initContext != null) {
|
||||||
|
this.initContext.close();
|
||||||
|
this.initContext = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
ds.type=javax.sql.DataSource
|
||||||
|
ds.driver=org.h2.Driver
|
||||||
|
ds.url=jdbc:jdbc:h2:mem:testdb
|
||||||
|
ds.user=sa
|
||||||
|
ds.password=password
|
Loading…
x
Reference in New Issue
Block a user