package org.teiid.resource.adapter.couchbase; import static org.junit.Assert.*; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import javax.resource.ResourceException; import org.junit.Ignore; import org.junit.Test; import org.teiid.couchbase.CouchbaseConnection; import com.couchbase.client.java.document.json.JsonObject; import com.couchbase.client.java.query.N1qlQueryResult; import com.couchbase.client.java.query.N1qlQueryRow; @Ignore("Ignore due to this test depend on remote Couchbase server") public class TestCouchbaseConnection { private CouchbaseConnection sample() throws ResourceException { CouchbaseManagedConnectionFactory mcf = new CouchbaseManagedConnectionFactory(); mcf.setConnectionString("10.66.192.120"); //$NON-NLS-1$ mcf.setKeyspace("default"); //$NON-NLS-1$ return mcf.createConnectionFactory().getConnection(); } @Test public void testKeyspaces () throws ResourceException { CouchbaseConnection conn = sample(); Set<String> keyspaces = new HashSet<>(); N1qlQueryResult result = conn.executeQuery("SELECT * FROM system:keyspaces"); //$NON-NLS-1$ Iterator<N1qlQueryRow> rows = result.rows(); while(rows.hasNext()) { N1qlQueryRow row = rows.next(); JsonObject json = (JsonObject) row.value().get("keyspaces"); //$NON-NLS-1$ keyspaces.add(json.getString("name")); //$NON-NLS-1$ } assertTrue(keyspaces.contains("default")); //$NON-NLS-1$ conn.close(); } }