Implement native client core lifecycle (#51)
This commit is contained in:
@@ -72,23 +72,40 @@ fn runtime_flows_have_typed_callable_signatures() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn core_constructors_fail_before_starting_runtime_work() {
|
||||
fn client_and_settings_construct_without_starting_runtime_work() {
|
||||
let mut client = GridClient::new().expect("GridClient constructor");
|
||||
assert_eq!(client.settings().timing().login_timeout, 60_000);
|
||||
assert_eq!(
|
||||
member_id(GridClient::new()),
|
||||
"M:LibreMetaverse.GridClient.#ctor"
|
||||
client.lifecycle_state(),
|
||||
libremetaverse::ClientLifecycleState::Active
|
||||
);
|
||||
assert!(!client.cancellation_token().is_cancellation_requested());
|
||||
|
||||
let connection = ConnectionSettings::new().expect("ConnectionSettings constructor");
|
||||
assert_eq!(connection.login_server, Settings::AGNI_LOGIN_SERVER);
|
||||
assert!(!connection.mfa_enabled);
|
||||
|
||||
let texture = TexturePipelineSettings::new().expect("TexturePipelineSettings constructor");
|
||||
assert!(texture.enabled);
|
||||
assert!(texture.use_http_textures);
|
||||
assert_eq!(texture.max_concurrent_downloads, 4);
|
||||
assert_eq!(texture.request_timeout, 45_000);
|
||||
|
||||
client
|
||||
.dispose_with_method()
|
||||
.expect("idempotent client disposal");
|
||||
client
|
||||
.dispose_with_method()
|
||||
.expect("repeated client disposal");
|
||||
assert_eq!(
|
||||
member_id(ConnectionSettings::new()),
|
||||
"M:LibreMetaverse.ConnectionSettings.#ctor"
|
||||
client.lifecycle_state(),
|
||||
libremetaverse::ClientLifecycleState::Disposed
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
member_id(CapsRateLimiter::new_with_constructor()),
|
||||
"M:LibreMetaverse.CapsRateLimiter.#ctor"
|
||||
);
|
||||
assert_eq!(
|
||||
member_id(TexturePipelineSettings::new()),
|
||||
"M:LibreMetaverse.TexturePipelineSettings.#ctor"
|
||||
);
|
||||
assert_eq!(
|
||||
member_id(UDPPacketBuffer::new_with_constructor()),
|
||||
"M:LibreMetaverse.UDPPacketBuffer.#ctor"
|
||||
|
||||
@@ -67,7 +67,7 @@ fn world_and_social_flows_have_typed_callable_signatures() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn world_facing_constructors_fail_with_catalog_ids() {
|
||||
fn world_facing_constructors_preserve_implemented_and_pending_behavior() {
|
||||
assert_eq!(
|
||||
member_id(EstateTask::new()),
|
||||
"M:LibreMetaverse.EstateTask.#ctor"
|
||||
@@ -76,10 +76,11 @@ fn world_facing_constructors_fail_with_catalog_ids() {
|
||||
member_id(MarketplaceListing::new()),
|
||||
"M:LibreMetaverse.Marketplace.MarketplaceListing.#ctor"
|
||||
);
|
||||
assert_eq!(
|
||||
member_id(ParcelSettings::new()),
|
||||
"M:LibreMetaverse.ParcelSettings.#ctor"
|
||||
);
|
||||
let parcel = ParcelSettings::new().expect("ParcelSettings constructor");
|
||||
assert!(parcel.track_parcels);
|
||||
assert!(parcel.always_request_acl);
|
||||
assert!(parcel.always_request_dwell);
|
||||
assert!(!parcel.pool_parcel_data);
|
||||
assert_eq!(
|
||||
member_id(TerrainPatch::new()),
|
||||
"M:LibreMetaverse.TerrainPatch.#ctor"
|
||||
|
||||
Reference in New Issue
Block a user