49 lines
1.6 KiB
Rust
49 lines
1.6 KiB
Rust
mod common;
|
|
|
|
use chorus::gateway::*;
|
|
use chorus::types::{self, Channel};
|
|
|
|
#[tokio::test]
|
|
/// Tests establishing a connection (hello and heartbeats) on the local gateway;
|
|
async fn test_gateway_establish() {
|
|
let bundle = common::setup().await;
|
|
|
|
Gateway::new(bundle.urls.wss).await.unwrap();
|
|
}
|
|
|
|
#[tokio::test]
|
|
/// Tests establishing a connection and authenticating
|
|
async fn test_gateway_authenticate() {
|
|
let bundle = common::setup().await;
|
|
|
|
let gateway = Gateway::new(bundle.urls.wss).await.unwrap();
|
|
|
|
let mut identify = types::GatewayIdentifyPayload::common();
|
|
identify.token = bundle.user.token;
|
|
|
|
gateway.send_identify(identify).await;
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_self_updating_structs() {
|
|
let mut bundle = common::setup().await;
|
|
let gateway = Gateway::new(bundle.urls.wss).await.unwrap();
|
|
let mut identify = types::GatewayIdentifyPayload::common();
|
|
identify.token = bundle.user.token.clone();
|
|
gateway.send_identify(identify).await;
|
|
let channel_receiver = gateway.observe(bundle.channel.clone()).await;
|
|
let received_channel = channel_receiver.borrow();
|
|
assert_eq!(*received_channel, bundle.channel);
|
|
drop(received_channel);
|
|
let channel = &mut bundle.channel;
|
|
let modify_data = types::ChannelModifySchema {
|
|
name: Some("beepboop".to_string()),
|
|
..Default::default()
|
|
};
|
|
Channel::modify(channel, modify_data, channel.id, &mut bundle.user)
|
|
.await
|
|
.unwrap();
|
|
let received_channel = channel_receiver.borrow();
|
|
assert_eq!(received_channel.name.as_ref().unwrap(), "beepboop");
|
|
}
|