refactor: complete v0.8 core architecture
This commit is contained in:
1 parent
f138a645f8
commit
d7e0ac7679
98 files changed
+8413
-3044
No files matched your search
+30
-22
@@ -18,34 +18,38 @@ async fn test_cleanup_stale_reservations() {
|
||||
let config = create_temp_config(temp_dir.clone());
|
||||
let db = Db::init(&config).expect("Failed to init Db");
|
||||
|
||||
let system_conn = db.system.lock().unwrap();
|
||||
let urls_conn = db.global_urls.lock().unwrap();
|
||||
let pages_conn = db.global_landing_pages.lock().unwrap();
|
||||
|
||||
// Insert a reserving slug older than 15 minutes (e.g. 20 minutes ago)
|
||||
let old_time = (chrono::Utc::now() - chrono::Duration::minutes(20)).to_rfc3339();
|
||||
system_conn.execute(
|
||||
"INSERT INTO global_slugs (slug, owner_user_id, target_type, target_id, created_at, updated_at, status)
|
||||
VALUES ('stale-slug', 2, 'url', '', ?1, ?1, 'reserving')",
|
||||
[&old_time]
|
||||
).unwrap();
|
||||
urls_conn
|
||||
.execute(
|
||||
"INSERT INTO global_urls (slug, owner_tenant_id, target_id, created_at, updated_at, status, retired_at)
|
||||
VALUES ('!stale-slug', 't-tenant1234', '', ?1, ?1, 'reserving', NULL)",
|
||||
[&old_time],
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
// Verify it exists before cleanup
|
||||
let exists: bool = system_conn
|
||||
let exists: bool = urls_conn
|
||||
.query_row(
|
||||
"SELECT EXISTS(SELECT 1 FROM global_slugs WHERE slug = 'stale-slug')",
|
||||
"SELECT EXISTS(SELECT 1 FROM global_urls WHERE slug = '!stale-slug')",
|
||||
[],
|
||||
|r| r.get(0),
|
||||
)
|
||||
.unwrap();
|
||||
assert!(exists);
|
||||
|
||||
// Run cleanup
|
||||
let cleaned = bzod::db::users::cleanup_stale_reservations(&system_conn, &temp_dir).unwrap();
|
||||
// Run cleanup for records older than 15 minutes (900 seconds)
|
||||
let cleaned =
|
||||
bzod::db::slugs::cleanup_stale_reservations(&urls_conn, &pages_conn, 900).unwrap();
|
||||
assert_eq!(cleaned, 1);
|
||||
|
||||
// Verify it is gone
|
||||
let exists: bool = system_conn
|
||||
let exists: bool = urls_conn
|
||||
.query_row(
|
||||
"SELECT EXISTS(SELECT 1 FROM global_slugs WHERE slug = 'stale-slug')",
|
||||
"SELECT EXISTS(SELECT 1 FROM global_urls WHERE slug = '!stale-slug')",
|
||||
[],
|
||||
|r| r.get(0),
|
||||
)
|
||||
@@ -62,24 +66,28 @@ async fn test_cleanup_preserves_valid_reservations() {
|
||||
let config = create_temp_config(temp_dir.clone());
|
||||
let db = Db::init(&config).expect("Failed to init Db");
|
||||
|
||||
let system_conn = db.system.lock().unwrap();
|
||||
let urls_conn = db.global_urls.lock().unwrap();
|
||||
let pages_conn = db.global_landing_pages.lock().unwrap();
|
||||
|
||||
// Insert a reserving slug that is brand new (e.g. 1 minute ago)
|
||||
let new_time = (chrono::Utc::now() - chrono::Duration::minutes(1)).to_rfc3339();
|
||||
system_conn.execute(
|
||||
"INSERT INTO global_slugs (slug, owner_user_id, target_type, target_id, created_at, updated_at, status)
|
||||
VALUES ('fresh-slug', 2, 'url', '', ?1, ?1, 'reserving')",
|
||||
[&new_time]
|
||||
).unwrap();
|
||||
urls_conn
|
||||
.execute(
|
||||
"INSERT INTO global_urls (slug, owner_tenant_id, target_id, created_at, updated_at, status, retired_at)
|
||||
VALUES ('!fresh-slug', 't-tenant1234', '', ?1, ?1, 'reserving', NULL)",
|
||||
[&new_time],
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
// Run cleanup
|
||||
let cleaned = bzod::db::users::cleanup_stale_reservations(&system_conn, &temp_dir).unwrap();
|
||||
// Run cleanup for records older than 15 minutes (900 seconds)
|
||||
let cleaned =
|
||||
bzod::db::slugs::cleanup_stale_reservations(&urls_conn, &pages_conn, 900).unwrap();
|
||||
assert_eq!(cleaned, 0);
|
||||
|
||||
// Verify it is still there
|
||||
let exists: bool = system_conn
|
||||
let exists: bool = urls_conn
|
||||
.query_row(
|
||||
"SELECT EXISTS(SELECT 1 FROM global_slugs WHERE slug = 'fresh-slug')",
|
||||
"SELECT EXISTS(SELECT 1 FROM global_urls WHERE slug = '!fresh-slug')",
|
||||
[],
|
||||
|r| r.get(0),
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user