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
|
|
|
}
|
|
|
|
|
|
|
|
}
|