diff --git a/server/test/shelf_index_postgres_test.gleam b/server/test/shelf_index_postgres_test.gleam index 402676b..11a7f99 100644 --- a/server/test/shelf_index_postgres_test.gleam +++ b/server/test/shelf_index_postgres_test.gleam @@ -9,7 +9,9 @@ import crate_server/shelf_index_postgres import envoy import exception import gleam/erlang/process +import gleam/int import gleam/option.{None, Some} +import gleam/time/timestamp // A single-connection pool, killed as soon as this call returns (even if // `run` itself crashes): each test opens its own fresh pool, and a normal @@ -59,6 +61,12 @@ fn blank_entry( ) } +fn fresh_did(tag: String) -> String { + let #(_, nanoseconds) = + timestamp.to_unix_seconds_and_nanoseconds(timestamp.system_time()) + "did:plc:pgtest-" <> tag <> "-" <> int.to_string(nanoseconds) +} + pub fn event_round_trip_test() { use store <- with_store() let entry_uri = "at://did:plc:pgtest/dev.mokkenstorm.crate.shelf.entry/pg1" @@ -120,7 +128,7 @@ pub fn record_and_fold_round_trips_flattened_columns_test() { pub fn seen_round_trip_test() { use store <- with_store() - let did = "did:plc:pgtest-seen" + let did = fresh_did("seen") assert store.seen.has_seen(did) == False store.seen.mark_seen(did) assert store.seen.has_seen(did) == True @@ -128,7 +136,7 @@ pub fn seen_round_trip_test() { pub fn counts_reflect_stored_rows_and_go_back_down_on_delete_test() { use store <- with_store() - let did = "did:plc:pgtest-counts" + let did = fresh_did("counts") let entries_before = store.entries.count() let seen_before = store.seen.count() let entry_uri = "at://" <> did <> "/dev.mokkenstorm.crate.shelf.entry/pgc1" @@ -157,7 +165,7 @@ pub fn counts_reflect_stored_rows_and_go_back_down_on_delete_test() { pub fn delete_for_did_round_trip_test() { use store <- with_store() - let did = "did:plc:pgtest-purge" + let did = fresh_did("purge") let entry_uri = "at://" <> did <> "/dev.mokkenstorm.crate.shelf.entry/pg3" shelf_index.record_and_fold( store,