Skip to content

Commit

Permalink
Add unit tests on SqlxmlTypeHandlerTest
Browse files Browse the repository at this point in the history
  • Loading branch information
kazuki43zoo committed May 2, 2018
1 parent bcd069f commit 3f19d5f
Showing 1 changed file with 75 additions and 1 deletion.
76 changes: 75 additions & 1 deletion src/test/java/org/apache/ibatis/type/SqlxmlTypeHandlerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@
package org.apache.ibatis.type;

import static org.junit.Assert.*;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import java.io.Reader;
import java.nio.file.Paths;
import java.sql.Connection;
import java.sql.SQLXML;
import java.util.Collections;

import org.apache.ibatis.annotations.Insert;
Expand All @@ -40,15 +43,23 @@
import org.junit.Test;
import org.junit.experimental.categories.Category;

import org.mockito.Mock;
import ru.yandex.qatools.embed.postgresql.EmbeddedPostgres;
import ru.yandex.qatools.embed.postgresql.util.SocketUtil;

@Category(EmbeddedPostgresqlTests.class)
public class SqlxmlTypeHandlerTest {
public class SqlxmlTypeHandlerTest extends BaseTypeHandlerTest {
private static final TypeHandler<String> TYPE_HANDLER = new SqlxmlTypeHandler();
private static final EmbeddedPostgres postgres = new EmbeddedPostgres();

private static SqlSessionFactory sqlSessionFactory;

@Mock
private SQLXML sqlxml;

@Mock
private Connection connection;

@BeforeClass
public static void setUp() throws Exception {
// Launch PostgreSQL server. Download / unarchive if necessary.
Expand Down Expand Up @@ -79,6 +90,69 @@ public static void tearDown() {
postgres.stop();
}

@Override
@Test
public void shouldSetParameter() throws Exception {
when(connection.createSQLXML()).thenReturn(sqlxml);
when(ps.getConnection()).thenReturn(connection);
String xml = "<message>test</message>";
TYPE_HANDLER.setParameter(ps, 1, xml, null);
verify(ps).setSQLXML(1, sqlxml);
verify(sqlxml).setString(xml);
verify(sqlxml).free();
}

@Override
@Test
public void shouldGetResultFromResultSetByName() throws Exception {
String xml = "<message>test</message>";
when(sqlxml.getString()).thenReturn(xml);
when(rs.getSQLXML("column")).thenReturn(sqlxml);
assertEquals(xml, TYPE_HANDLER.getResult(rs, "column"));
verify(sqlxml).free();
}

@Override
@Test
public void shouldGetResultNullFromResultSetByName() throws Exception {
when(rs.getSQLXML("column")).thenReturn(null);
assertNull(TYPE_HANDLER.getResult(rs, "column"));
}

@Override
@Test
public void shouldGetResultFromResultSetByPosition() throws Exception {
String xml = "<message>test</message>";
when(sqlxml.getString()).thenReturn(xml);
when(rs.getSQLXML(1)).thenReturn(sqlxml);
assertEquals(xml, TYPE_HANDLER.getResult(rs, 1));
verify(sqlxml).free();
}

@Override
@Test
public void shouldGetResultNullFromResultSetByPosition() throws Exception {
when(rs.getSQLXML(1)).thenReturn(null);
assertNull(TYPE_HANDLER.getResult(rs, 1));
}

@Override
@Test
public void shouldGetResultFromCallableStatement() throws Exception {
String xml = "<message>test</message>";
when(sqlxml.getString()).thenReturn(xml);
when(cs.getSQLXML(1)).thenReturn(sqlxml);
assertEquals(xml, TYPE_HANDLER.getResult(cs, 1));
verify(sqlxml).free();
}

@Override
@Test
public void shouldGetResultNullFromCallableStatement() throws Exception {
when(cs.getSQLXML(1)).thenReturn(null);
assertNull(TYPE_HANDLER.getResult(cs, 1));
}

@Test
public void shouldReturnXmlAsString() throws Exception {
SqlSession session = sqlSessionFactory.openSession();
Expand Down

0 comments on commit 3f19d5f

Please sign in to comment.