mirror of
https://github.com/NexVeridian/wikidata-to-surrealdb.git
synced 2025-09-02 09:59:13 +00:00
swap to rstest
This commit is contained in:
parent
58938e8f71
commit
d508518beb
5 changed files with 535 additions and 581 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -105,3 +105,5 @@ venv.bak/
|
||||||
|
|
||||||
/data
|
/data
|
||||||
/target
|
/target
|
||||||
|
|
||||||
|
filter.surql
|
||||||
|
|
1060
Cargo.lock
generated
1060
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0"
|
||||||
anyhow = "1.0"
|
anyhow = "1.0"
|
||||||
serde = { version = "1.0", features = ["derive"] }
|
serde = { version = "1.0", features = ["derive"] }
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
surrealdb = { version = "1.5", features = ["protocol-ws", "kv-mem"] }
|
surrealdb-alpha = { version = "2.0.9", features = ["protocol-ws", "kv-mem"] }
|
||||||
tokio = { version = "1.39", features = ["time"] }
|
tokio = { version = "1.39", features = ["time"] }
|
||||||
futures = "0.3"
|
futures = "0.3"
|
||||||
wikidata = "1.1"
|
wikidata = "1.1"
|
||||||
|
@ -18,7 +18,8 @@ indicatif = "0.17"
|
||||||
rand = "0.8"
|
rand = "0.8"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
surrealdb = { version = "1.5", features = ["kv-mem"] }
|
rstest = "0.22"
|
||||||
|
surrealdb-alpha = { version = "2.0.9", features = ["kv-mem"] }
|
||||||
criterion = { version = "0.5", features = ["async_tokio"] }
|
criterion = { version = "0.5", features = ["async_tokio"] }
|
||||||
pprof = { version = "0.13", features = ["criterion", "protobuf-codec"] }
|
pprof = { version = "0.13", features = ["criterion", "protobuf-codec"] }
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
use anyhow::{Error, Ok, Result};
|
use anyhow::{Error, Ok, Result};
|
||||||
|
use rstest::rstest;
|
||||||
use std::{env, io::BufRead};
|
use std::{env, io::BufRead};
|
||||||
use surrealdb::{engine::local::Db, Surreal};
|
use surrealdb::{engine::local::Db, Surreal};
|
||||||
|
|
||||||
|
@ -47,24 +48,18 @@ async fn entity() {
|
||||||
assert_eq!(51.0, entity_query(&db).await.unwrap().unwrap())
|
assert_eq!(51.0, entity_query(&db).await.unwrap().unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn entity_threaded_insert(create_version: CreateVersion) -> Result<Surreal<Db>, Error> {
|
#[rstest]
|
||||||
|
#[case(CreateVersion::Single)]
|
||||||
|
#[case(CreateVersion::Bulk)]
|
||||||
|
#[tokio::test]
|
||||||
|
async fn entity_threaded(#[case] version: CreateVersion) -> Result<(), Error> {
|
||||||
let db = inti_db().await?;
|
let db = inti_db().await?;
|
||||||
let reader = File_Format::new("json").reader("tests/data/Entity.json")?;
|
let reader = init_reader("json", "Entity");
|
||||||
|
|
||||||
create_db_entities_threaded(Some(db.clone()), reader, None, 1_000, 100, create_version).await?;
|
create_db_entities_threaded(Some(db.clone()), reader, None, 1_000, 100, version).await?;
|
||||||
Ok(db)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[tokio::test]
|
assert_eq!(51.0, entity_query(&db).await?.unwrap());
|
||||||
async fn entity_threaded() {
|
Ok(())
|
||||||
let db = entity_threaded_insert(CreateVersion::Single).await.unwrap();
|
|
||||||
assert_eq!(51.0, entity_query(&db).await.unwrap().unwrap())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[tokio::test]
|
|
||||||
async fn entity_threaded_bulk_insert() {
|
|
||||||
let db = entity_threaded_insert(CreateVersion::Bulk).await.unwrap();
|
|
||||||
assert_eq!(51.0, entity_query(&db).await.unwrap().unwrap())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn property_query(db: &Surreal<Db>) -> Result<Option<f32>, Error> {
|
async fn property_query(db: &Surreal<Db>) -> Result<Option<f32>, Error> {
|
||||||
|
@ -89,24 +84,16 @@ async fn property() {
|
||||||
assert_eq!(2.0, property_query(&db).await.unwrap().unwrap())
|
assert_eq!(2.0, property_query(&db).await.unwrap().unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn property_threaded_insert(create_version: CreateVersion) -> Result<Surreal<Db>, Error> {
|
#[rstest]
|
||||||
|
#[case(CreateVersion::Single)]
|
||||||
|
#[case(CreateVersion::Bulk)]
|
||||||
|
#[tokio::test]
|
||||||
|
async fn property_threaded(#[case] version: CreateVersion) -> Result<(), Error> {
|
||||||
let db = inti_db().await?;
|
let db = inti_db().await?;
|
||||||
let reader = init_reader("json", "Property");
|
let reader = init_reader("json", "Property");
|
||||||
|
|
||||||
create_db_entities_threaded(Some(db.clone()), reader, None, 1_000, 100, create_version).await?;
|
create_db_entities_threaded(Some(db.clone()), reader, None, 1_000, 100, version).await?;
|
||||||
Ok(db)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[tokio::test]
|
assert_eq!(2.0, property_query(&db).await?.unwrap());
|
||||||
async fn property_threaded_single_insert() {
|
Ok(())
|
||||||
let db = property_threaded_insert(CreateVersion::Single)
|
|
||||||
.await
|
|
||||||
.unwrap();
|
|
||||||
assert_eq!(2.0, property_query(&db).await.unwrap().unwrap())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[tokio::test]
|
|
||||||
async fn property_threaded_bulk_insert() {
|
|
||||||
let db = property_threaded_insert(CreateVersion::Bulk).await.unwrap();
|
|
||||||
assert_eq!(2.0, property_query(&db).await.unwrap().unwrap())
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue