Create integration.rs, is broken right now

This commit is contained in:
bitfl0wer 2023-05-20 21:04:03 +02:00
parent 64ed7cd2aa
commit 0847821f5e
3 changed files with 53 additions and 10 deletions

View File

@ -16,4 +16,7 @@ custom_error = "1.9.2"
native-tls = "0.2.11"
tokio-tungstenite = {version = "0.18.0", features = ["native-tls"]}
futures-util = "0.3.28"
http = "0.2.9"
http = "0.2.9"
[dev-dependencies]
lazy_static = "1.4.0"

View File

@ -1,10 +1,9 @@
use crate::api::limits::Limits;
use crate::api::types::{InstancePolicies};
use crate::api::types::InstancePolicies;
use crate::errors::{FieldFormatError, InstanceServerError};
use crate::limit::LimitedRequester;
use crate::URLBundle;
use std::fmt;
#[derive(Debug)]

View File

@ -1,18 +1,59 @@
use chorus::{instance::Instance, limit::LimitedRequester, URLBundle};
use std::sync::Mutex;
struct TestBundle {
urls: URLBundle,
instance: Instance,
use chorus::{
api::{AuthUsername, LoginSchema, User},
instance::Instance,
limit::LimitedRequester,
URLBundle,
};
use lazy_static::lazy_static;
lazy_static! {
static ref INSTANCE: Mutex<Instance> =
tokio::runtime::Runtime::new().unwrap().block_on(async {
Mutex::new(
Instance::new(
URLBundle::new(
"http://localhost:3001/api".to_string(),
"ws://localhost:3001".to_string(),
"http://localhost:3001".to_string(),
),
LimitedRequester::new().await,
)
.await
.unwrap(),
)
});
}
async fn setup() -> TestBundle {
struct TestBundle<'a> {
urls: URLBundle,
user: User<'a>,
}
async fn setup<'a>() -> TestBundle<'a> {
let urls = URLBundle::new(
"http://localhost:3001/api".to_string(),
"ws://localhost:3001".to_string(),
"http://localhost:3001".to_string(),
);
let requester = LimitedRequester::new().await;
let instance = Instance::new(urls.clone(), requester).await.unwrap();
let mut instance = Instance::new(urls.clone(), requester).await.unwrap();
// Requires the existance of the below user.
let login_schema: LoginSchema = LoginSchema::new(
AuthUsername::new("user@test.xyz".to_string()).unwrap(),
"transrights".to_string(),
None,
None,
None,
None,
)
.unwrap();
let user = instance.login_account(&login_schema).await.unwrap();
TestBundle { urls, instance }
TestBundle {
urls: urls,
user: user,
}
}