/*
* Copyright (c) 2008, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
package org.postgresql.test.jdbc4;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.postgresql.test.jdbc2.BaseTest4;
import org.junit.Test;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.util.UUID;
public class UUIDTest extends BaseTest4 {
@Override
public void setUp() throws Exception {
super.setUp();
Statement stmt = con.createStatement();
stmt.execute("CREATE TEMP TABLE uuidtest(id uuid)");
stmt.close();
}
@Override
public void tearDown() throws SQLException {
Statement stmt = con.createStatement();
stmt.execute("DROP TABLE uuidtest");
stmt.close();
super.tearDown();
}
@Test
public void testUUID() throws SQLException {
UUID uuid = UUID.randomUUID();
PreparedStatement ps = con.prepareStatement("INSERT INTO uuidtest VALUES (?)");
ps.setObject(1, uuid, Types.OTHER);
ps.executeUpdate();
ps.close();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT id FROM uuidtest");
assertTrue(rs.next());
UUID uuid2 = (UUID) rs.getObject(1);
assertEquals(uuid, rs.getObject(1));
assertEquals(uuid.toString(), rs.getString(1));
rs.close();
stmt.close();
}
}