// Path: src/main/java/io/vertx/ext/jdbc/JDBCClient.java
// @VertxGen
// public interface JDBCClient extends SQLClient {
// 
//   /**
//    * The default data source provider is C3P0
//    */
//   String DEFAULT_PROVIDER_CLASS =  "io.vertx.ext.jdbc.spi.impl.C3P0DataSourceProvider";
// 
//   /**
//    * The name of the default data source
//    */
//   String DEFAULT_DS_NAME = "DEFAULT_DS";
// 
//   /**
//    * Create a JDBC client which maintains its own data source.
//    *
//    * @param vertx  the Vert.x instance
//    * @param config the configuration
//    * @return the client
//    */
//   static JDBCClient create(Vertx vertx, JsonObject config) {
//     return new JDBCClientImpl(vertx, config, UUID.randomUUID().toString());
//   }
// 
//   /**
//    * Create a JDBC client which shares its data source with any other JDBC clients created with the same
//    * data source name
//    *
//    * @param vertx  the Vert.x instance
//    * @param config  the configuration
//    * @param dataSourceName  the data source name
//    * @return the client
//    */
//   static JDBCClient createShared(Vertx vertx, JsonObject config, String dataSourceName) {
//     return new JDBCClientImpl(vertx, config, dataSourceName);
//   }
// 
//   /**
//    * Like {@link #createShared(io.vertx.core.Vertx, JsonObject, String)} but with the default data source name
//    * @param vertx  the Vert.x instance
//    * @param config  the configuration
//    * @return the client
//    */
//   static JDBCClient createShared(Vertx vertx, JsonObject config) {
//     return new JDBCClientImpl(vertx, config, DEFAULT_DS_NAME);
//   }
// 
//   /**
//    * Create a client using a pre-existing data source
//    *
//    * @param vertx  the Vert.x instance
//    * @param dataSource  the datasource
//    * @return the client
//    */
//   @GenIgnore
//   static JDBCClient create(Vertx vertx, DataSource dataSource) {
//     return new JDBCClientImpl(vertx, dataSource);
//   }
// 
//   /**
//    * Create a client using a data source provider
//    *
//    * @param vertx  the Vert.x instance
//    * @param dataSourceProvider  the datasource provider
//    * @return the client
//    * @since 4.2.0
//    */
//   @GenIgnore
//   static JDBCClient create(Vertx vertx, DataSourceProvider dataSourceProvider) {
//     return new JDBCClientImpl(vertx, dataSourceProvider);
//   }
// 
// }


import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.jdbc.JDBCClient;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import io.vertx.ext.unit.junit.RunTestOnContext;
import io.vertx.ext.unit.junit.VertxUnitRunner;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.testcontainers.containers.OracleContainer;
/*
 * Copyright (c) 2011-2014 The original author or authors
 * ------------------------------------------------------
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *     The Eclipse Public License is available at
 *     http://www.eclipse.org/legal/epl-v10.html
 *
 *     The Apache License v2.0 is available at
 *     http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */

package io.vertx.it;



/**
 * @author <a href="mailto:Fyro-Ing@users.noreply.github.com">Fyro</a>
 */
@RunWith(VertxUnitRunner.class)
@Ignore("This container doesn't start on GitHub")
public class OracleTest {

  @ClassRule
  public static final RunTestOnContext rule = new RunTestOnContext();

  @ClassRule
  public static final OracleContainer server = new OracleContainer("wnameless/oracle-xe-11g-r2:latest")
    .withInitScript("init-oracle.sql");

  @Test
  public void simpleDeleteTest(TestContext should) {
    final Async test = should.async();
// Path: src/main/java/io/vertx/ext/jdbc/JDBCClient.java
// @VertxGen
// public interface JDBCClient extends SQLClient {
// 
//   /**
//    * The default data source provider is C3P0
//    */
//   String DEFAULT_PROVIDER_CLASS =  "io.vertx.ext.jdbc.spi.impl.C3P0DataSourceProvider";
// 
//   /**
//    * The name of the default data source
//    */
//   String DEFAULT_DS_NAME = "DEFAULT_DS";
// 
//   /**
//    * Create a JDBC client which maintains its own data source.
//    *
//    * @param vertx  the Vert.x instance
//    * @param config the configuration
//    * @return the client
//    */
//   static JDBCClient create(Vertx vertx, JsonObject config) {
//     return new JDBCClientImpl(vertx, config, UUID.randomUUID().toString());
//   }
// 
//   /**
//    * Create a JDBC client which shares its data source with any other JDBC clients created with the same
//    * data source name
//    *
//    * @param vertx  the Vert.x instance
//    * @param config  the configuration
//    * @param dataSourceName  the data source name
//    * @return the client
//    */
//   static JDBCClient createShared(Vertx vertx, JsonObject config, String dataSourceName) {
//     return new JDBCClientImpl(vertx, config, dataSourceName);
//   }
// 
//   /**
//    * Like {@link #createShared(io.vertx.core.Vertx, JsonObject, String)} but with the default data source name
//    * @param vertx  the Vert.x instance
//    * @param config  the configuration
//    * @return the client
//    */
//   static JDBCClient createShared(Vertx vertx, JsonObject config) {
//     return new JDBCClientImpl(vertx, config, DEFAULT_DS_NAME);
//   }
// 
//   /**
//    * Create a client using a pre-existing data source
//    *
//    * @param vertx  the Vert.x instance
//    * @param dataSource  the datasource
//    * @return the client
//    */
//   @GenIgnore
//   static JDBCClient create(Vertx vertx, DataSource dataSource) {
//     return new JDBCClientImpl(vertx, dataSource);
//   }
// 
//   /**
//    * Create a client using a data source provider
//    *
//    * @param vertx  the Vert.x instance
//    * @param dataSourceProvider  the datasource provider
//    * @return the client
//    * @since 4.2.0
//    */
//   @GenIgnore
//   static JDBCClient create(Vertx vertx, DataSourceProvider dataSourceProvider) {
//     return new JDBCClientImpl(vertx, dataSourceProvider);
//   }
// 
// }


// Path: src/test/java/io/vertx/it/OracleTest.java
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.jdbc.JDBCClient;
import io.vertx.ext.unit.Async;
import io.vertx.ext.unit.TestContext;
import io.vertx.ext.unit.junit.RunTestOnContext;
import io.vertx.ext.unit.junit.VertxUnitRunner;
import org.junit.Assert;
import org.junit.ClassRule;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.testcontainers.containers.OracleContainer;

/*
 * Copyright (c) 2011-2014 The original author or authors
 * ------------------------------------------------------
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Apache License v2.0 which accompanies this distribution.
 *
 *     The Eclipse Public License is available at
 *     http://www.eclipse.org/legal/epl-v10.html
 *
 *     The Apache License v2.0 is available at
 *     http://www.opensource.org/licenses/apache2.0.php
 *
 * You may elect to redistribute this code under either of these licenses.
 */

package io.vertx.it;



/**
 * @author <a href="mailto:Fyro-Ing@users.noreply.github.com">Fyro</a>
 */
@RunWith(VertxUnitRunner.class)
@Ignore("This container doesn't start on GitHub")
public class OracleTest {

  @ClassRule
  public static final RunTestOnContext rule = new RunTestOnContext();

  @ClassRule
  public static final OracleContainer server = new OracleContainer("wnameless/oracle-xe-11g-r2:latest")
    .withInitScript("init-oracle.sql");

  @Test
  public void simpleDeleteTest(TestContext should) {
    final Async test = should.async();
    JDBCClient client = initJDBCClient();