chore: add #[non_exhaustive] to remaining public structs (#768)
* chore: add #[non_exhaustive] to remaining public structs * chore: add #[non_exhaustive] to remaining public types * chore: enable exhaustive_structs/enums clippy lints * test: add untagged ServerResult deserialization regression tests
This commit is contained in:
parent
ee1c63c53f
commit
6a3b32d3ab
1 changed files with 430 additions and 211 deletions
|
|
@ -8,7 +8,6 @@ use rmcp::{
|
|||
model::*,
|
||||
service::{RequestContext, Service},
|
||||
};
|
||||
use tokio_util::sync::CancellationToken;
|
||||
|
||||
// Tests start here
|
||||
#[tokio::test]
|
||||
|
|
@ -48,13 +47,7 @@ async fn test_context_inclusion_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(1),
|
||||
meta: Default::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(1), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -85,13 +78,7 @@ async fn test_context_inclusion_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(2),
|
||||
meta: Default::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(2), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -122,13 +109,7 @@ async fn test_context_inclusion_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(3),
|
||||
meta: Default::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(3), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -179,13 +160,7 @@ async fn test_context_inclusion_ignored_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(1),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(1), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -241,13 +216,7 @@ async fn test_message_sequence_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(1),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(1), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -307,13 +276,7 @@ async fn test_message_sequence_validation_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(1),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(1), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -330,13 +293,7 @@ async fn test_message_sequence_validation_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(2),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(2), client.peer().clone()),
|
||||
)
|
||||
.await;
|
||||
|
||||
|
|
@ -370,13 +327,7 @@ async fn test_selective_context_handling_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(1),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(1), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -405,13 +356,7 @@ async fn test_selective_context_handling_integration() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(2),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(2), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
@ -457,13 +402,7 @@ async fn test_context_inclusion() -> anyhow::Result<()> {
|
|||
let result = handler
|
||||
.handle_request(
|
||||
request.clone(),
|
||||
RequestContext {
|
||||
peer: client.peer().clone(),
|
||||
ct: CancellationToken::new(),
|
||||
id: NumberOrString::Number(1),
|
||||
meta: Meta::default(),
|
||||
extensions: Default::default(),
|
||||
},
|
||||
RequestContext::new(NumberOrString::Number(1), client.peer().clone()),
|
||||
)
|
||||
.await?;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue