use std::sync::Arc;
use jdbc::{errors::InitError, Builder, JvmBuilder};
use jni::errors::{JniError, StartJvmError};
#[macro_use]
extern crate lazy_static;
mod util;
#[test]
fn test_create() -> Result<(), jdbc::errors::InitError> {
let vm = util::vm();
assert!(matches!(
JvmBuilder::new().build(),
Err(InitError::StartJvmError(StartJvmError::Create(
jni::errors::Error::JniCall(JniError::AlreadyCreated),
)))
));
assert!(matches!(
Builder::new().jdbc_url("jdbc:sqlite::memory:").build(),
Err(InitError::StartJvmError(StartJvmError::Create(
jni::errors::Error::JniCall(JniError::AlreadyCreated),
)))
));
let vm = Arc::new(vm);
let _ = Builder::new()
.jdbc_url("jdbc:sqlite::memory:")
.vm(vm.clone())
.build()?;
let _ = Builder::new()
.jdbc_url("jdbc:sqlite::memory:")
.vm(vm.clone())
.build()?;
Ok(())
}