Extract the sample relay to test_data for reuse

Signed-off-by: kernelkind <kernelkind@gmail.com>
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
kernelkind
2024-04-19 19:44:20 -04:00
committed by William Casarin
parent 9642b9243d
commit c4d9b5cd3c
3 changed files with 45 additions and 32 deletions

View File

@@ -20,6 +20,7 @@ mod profile;
pub mod relay_pool_manager;
pub mod relay_view;
mod result;
mod test_data;
mod time;
mod timecache;
mod timeline;

View File

@@ -172,41 +172,34 @@ fn get_connection_icon(status: &RelayStatus) -> egui::Image<'static> {
// PREVIEWS
pub struct RelayViewPreview {
pool: RelayPool,
}
mod preview {
use super::*;
use crate::test_data::sample_pool;
#[allow(unused_must_use)]
impl RelayViewPreview {
fn new() -> Self {
let mut pool = RelayPool::new();
let wakeup = move || {};
pub struct RelayViewPreview {
pool: RelayPool,
}
pool.add_url("wss://relay.damus.io".to_string(), wakeup);
pool.add_url("wss://eden.nostr.land".to_string(), wakeup);
pool.add_url("wss://nostr.wine".to_string(), wakeup);
pool.add_url("wss://nos.lol".to_string(), wakeup);
pool.add_url("wss://test_relay_url_long_00000000000000000000000000000000000000000000000000000000000000000000000000000000000".to_string(), wakeup);
for _ in 0..20 {
pool.add_url("tmp".to_string(), wakeup);
impl RelayViewPreview {
fn new() -> Self {
RelayViewPreview {
pool: sample_pool(),
}
}
}
RelayViewPreview { pool }
}
}
impl View for RelayViewPreview {
fn ui(&mut self, ui: &mut egui::Ui) {
self.pool.try_recv();
RelayView::new(RelayPoolManager::new(&mut self.pool)).ui(ui)
}
}
impl<'a> Preview for RelayView<'a> {
type Prev = RelayViewPreview;
fn preview() -> Self::Prev {
RelayViewPreview::new()
impl View for RelayViewPreview {
fn ui(&mut self, ui: &mut egui::Ui) {
self.pool.try_recv();
RelayView::new(RelayPoolManager::new(&mut self.pool)).ui(ui)
}
}
impl<'a> Preview for RelayView<'a> {
type Prev = RelayViewPreview;
fn preview() -> Self::Prev {
RelayViewPreview::new()
}
}
}

19
src/test_data.rs Normal file
View File

@@ -0,0 +1,19 @@
use enostr::RelayPool;
#[allow(unused_must_use)]
pub fn sample_pool() -> RelayPool {
let mut pool = RelayPool::new();
let wakeup = move || {};
pool.add_url("wss://relay.damus.io".to_string(), wakeup);
pool.add_url("wss://eden.nostr.land".to_string(), wakeup);
pool.add_url("wss://nostr.wine".to_string(), wakeup);
pool.add_url("wss://nos.lol".to_string(), wakeup);
pool.add_url("wss://test_relay_url_long_00000000000000000000000000000000000000000000000000000000000000000000000000000000000".to_string(), wakeup);
for _ in 0..20 {
pool.add_url("tmp".to_string(), wakeup);
}
pool
}