caretta-sync/core/src/cache/entity/mod.rs

48 lines
1.5 KiB
Rust
Raw Normal View History

2025-08-05 08:17:35 +09:00
mod cached_peer;
mod cached_address;
pub use cached_peer::{
ActiveModel as CachedPeerActiveModel,
Column as CachedPeerColumn,
Model as CachedPeerModel,
Entity as CachedPeerEntity,
};
pub use cached_address::{
ActiveModel as CachedAddressActiveModel,
Column as CachedAddressColumn,
Model as CachedAddressModel,
Entity as CachedAddressEntity,
};
#[cfg(test)]
mod tests {
use std::net::Ipv4Addr;
2025-08-20 12:39:29 +09:00
use crate::{cache::entity::cached_peer, data::migration::DataMigrator, global::{DATABASE_CONNECTIONS}, tests::TEST_CONFIG};
2025-08-05 08:17:35 +09:00
use super::*;
use libp2p::{identity::{self, Keypair}, multiaddr, swarm::handler::multi, Multiaddr, PeerId};
use sea_orm::ActiveModelTrait;
2025-08-12 07:29:23 +09:00
2025-08-05 08:17:35 +09:00
#[tokio::test]
async fn insert() {
2025-08-20 12:39:29 +09:00
let db = DATABASE_CONNECTIONS.get_or_init_unchecked(&*TEST_CONFIG, DataMigrator).await.cache;
2025-08-05 08:17:35 +09:00
let peer_id = Keypair::generate_ed25519().public().to_peer_id();
let multiaddr = Multiaddr::empty()
.with(Ipv4Addr::new(127,0,0,1).into())
.with(multiaddr::Protocol::Tcp(0));
let inserted_cached_peer: CachedPeerModel = CachedPeerActiveModel::new(peer_id.clone())
.insert(db).await.unwrap();
let inserted_cached_address: CachedAddressModel = CachedAddressActiveModel::new(inserted_cached_peer.id, multiaddr.clone())
.insert(db).await.unwrap();
assert_eq!(PeerId::from(inserted_cached_peer.peer_id), peer_id);
2025-08-12 07:29:23 +09:00
assert_eq!(Multiaddr::from(inserted_cached_address.multiaddress), multiaddr);
2025-08-05 08:17:35 +09:00
}
}