diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/init.rs | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/tests/init.rs b/tests/init.rs index d7ba164..5209898 100644 --- a/tests/init.rs +++ b/tests/init.rs | |||
| @@ -276,6 +276,86 @@ mod when_repo_not_previously_claimed { | |||
| 276 | } | 276 | } |
| 277 | } | 277 | } |
| 278 | 278 | ||
| 279 | mod git_config_updated { | ||
| 280 | |||
| 281 | use nostr::nips::nip01::Coordinate; | ||
| 282 | use nostr_sdk::ToBech32; | ||
| 283 | |||
| 284 | use super::*; | ||
| 285 | |||
| 286 | async fn async_run_test() -> Result<()> { | ||
| 287 | let git_repo = prep_git_repo()?; | ||
| 288 | // fallback (51,52) user write (53, 55) repo (55, 56) blaster (57) | ||
| 289 | let (mut r51, mut r52, mut r53, mut r55, mut r56, mut r57) = ( | ||
| 290 | Relay::new( | ||
| 291 | 8051, | ||
| 292 | None, | ||
| 293 | Some(&|relay, client_id, subscription_id, _| -> Result<()> { | ||
| 294 | relay.respond_events( | ||
| 295 | client_id, | ||
| 296 | &subscription_id, | ||
| 297 | &vec![ | ||
| 298 | generate_test_key_1_metadata_event("fred"), | ||
| 299 | generate_test_key_1_relay_list_event(), | ||
| 300 | ], | ||
| 301 | )?; | ||
| 302 | Ok(()) | ||
| 303 | }), | ||
| 304 | ), | ||
| 305 | Relay::new(8052, None, None), | ||
| 306 | Relay::new(8053, None, None), | ||
| 307 | Relay::new(8055, None, None), | ||
| 308 | Relay::new(8056, None, None), | ||
| 309 | Relay::new(8057, None, None), | ||
| 310 | ); | ||
| 311 | |||
| 312 | // // check relay had the right number of events | ||
| 313 | let cli_tester_handle = std::thread::spawn(move || -> Result<()> { | ||
| 314 | let mut p = cli_tester_init(&git_repo); | ||
| 315 | p.expect_end_eventually()?; | ||
| 316 | for p in [51, 52, 53, 55, 56, 57] { | ||
| 317 | relay::shutdown_relay(8000 + p)?; | ||
| 318 | } | ||
| 319 | assert_eq!( | ||
| 320 | git_repo | ||
| 321 | .git_repo | ||
| 322 | .config()? | ||
| 323 | .get_entry("nostr.repo")? | ||
| 324 | .value() | ||
| 325 | .unwrap(), | ||
| 326 | Coordinate { | ||
| 327 | kind: nostr_sdk::Kind::Custom(REPOSITORY_KIND), | ||
| 328 | identifier: "example-identifier".to_string(), | ||
| 329 | public_key: TEST_KEY_1_KEYS.public_key(), | ||
| 330 | relays: vec![], | ||
| 331 | } | ||
| 332 | .to_bech32()?, | ||
| 333 | ); | ||
| 334 | |||
| 335 | Ok(()) | ||
| 336 | }); | ||
| 337 | |||
| 338 | // launch relay | ||
| 339 | let _ = join!( | ||
| 340 | r51.listen_until_close(), | ||
| 341 | r52.listen_until_close(), | ||
| 342 | r53.listen_until_close(), | ||
| 343 | r55.listen_until_close(), | ||
| 344 | r56.listen_until_close(), | ||
| 345 | r57.listen_until_close(), | ||
| 346 | ); | ||
| 347 | cli_tester_handle.join().unwrap()?; | ||
| 348 | Ok(()) | ||
| 349 | } | ||
| 350 | |||
| 351 | #[tokio::test] | ||
| 352 | #[serial] | ||
| 353 | async fn with_nostr_repo_set_to_user_and_identifer_naddr() -> Result<()> { | ||
| 354 | async_run_test().await?; | ||
| 355 | Ok(()) | ||
| 356 | } | ||
| 357 | } | ||
| 358 | |||
| 279 | mod tags_as_specified_in_args { | 359 | mod tags_as_specified_in_args { |
| 280 | use super::*; | 360 | use super::*; |
| 281 | 361 | ||