appservice-api: Remove PartialEq impl for Namespace

This commit is contained in:
Jonas Platte 2022-05-23 18:35:07 +02:00
parent 6805f67d75
commit 1db07a2022
No known key found for this signature in database
GPG Key ID: AAA7A61F696C3E0C
3 changed files with 28 additions and 26 deletions

View File

@ -1,5 +1,9 @@
# [unreleased] # [unreleased]
Breaking changes:
* Remove `PartialEq` implementation for `Namespace`
# 0.6.0 # 0.6.0
Breaking changes: Breaking changes:

View File

@ -16,7 +16,7 @@ pub mod thirdparty;
/// A namespace defined by an application service. /// A namespace defined by an application service.
/// ///
/// Used for [appservice registration](https://spec.matrix.org/v1.2/application-service-api/#registration). /// Used for [appservice registration](https://spec.matrix.org/v1.2/application-service-api/#registration).
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] #[derive(Clone, Debug, Serialize, Deserialize)]
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)] #[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
pub struct Namespace { pub struct Namespace {
/// Whether this application service has exclusive access to events within this namespace. /// Whether this application service has exclusive access to events within this namespace.

View File

@ -1,5 +1,5 @@
use matches::assert_matches; use matches::assert_matches;
use ruma_appservice_api::{Namespace, Namespaces, Registration}; use ruma_appservice_api::Registration;
#[test] #[test]
fn registration_deserialization() { fn registration_deserialization() {
@ -18,31 +18,29 @@ fn registration_deserialization() {
regex: "#_irc_bridge_.*" regex: "#_irc_bridge_.*"
rooms: [] rooms: []
"##; "##;
let observed = serde_yaml::from_str(registration_config).unwrap(); let observed: Registration = serde_yaml::from_str(registration_config).unwrap();
assert_matches!(
observed, assert_eq!(observed.id, "IRC Bridge");
Registration { assert_eq!(observed.url, "http://127.0.0.1:1234");
id, assert_eq!(
url, observed.as_token,
as_token, "30c05ae90a248a4188e620216fa72e349803310ec83e2a77b34fe90be6081f46"
hs_token,
sender_localpart,
rate_limited,
protocols,
namespaces: Namespaces { users, aliases, rooms, .. },
..
}
if id == "IRC Bridge"
&& url == "http://127.0.0.1:1234"
&& as_token == "30c05ae90a248a4188e620216fa72e349803310ec83e2a77b34fe90be6081f46"
&& hs_token == "312df522183efd404ec1cd22d2ffa4bbc76a8c1ccf541dd692eef281356bb74e"
&& sender_localpart == "_irc_bot"
&& rate_limited == None
&& protocols == None
&& users[0] == Namespace::new(true, "@_irc_bridge_.*".into())
&& aliases[0] == Namespace::new(false, "#_irc_bridge_.*".into())
&& rooms.is_empty()
); );
assert_eq!(
observed.hs_token,
"312df522183efd404ec1cd22d2ffa4bbc76a8c1ccf541dd692eef281356bb74e"
);
assert_eq!(observed.sender_localpart, "_irc_bot");
assert_eq!(observed.rate_limited, None);
assert_eq!(observed.protocols, None);
assert!(observed.namespaces.users[0].exclusive);
assert_eq!(observed.namespaces.users[0].regex, "@_irc_bridge_.*");
assert!(!observed.namespaces.aliases[0].exclusive);
assert_eq!(observed.namespaces.aliases[0].regex, "#_irc_bridge_.*");
assert!(observed.namespaces.rooms.is_empty());
} }
#[test] #[test]