mirror of
https://codeberg.org/icewind/netnsd.git
synced 2026-06-03 17:14:06 +02:00
it seems to be working now
This commit is contained in:
parent
ec6c3a0a8b
commit
b4cf0acb44
11 changed files with 398 additions and 64 deletions
|
|
@ -86,7 +86,7 @@ impl<'de> Deserialize<'de> for ForwardDestination {
|
|||
|
||||
#[test]
|
||||
fn test_de() {
|
||||
use serde_test::{Token, assert_de_tokens, assert_de_tokens_error};
|
||||
use serde_test::{assert_de_tokens, assert_de_tokens_error, Token};
|
||||
|
||||
let addr_str = "127.0.0.1:80";
|
||||
let addr = SocketAddr::from_str("127.0.0.1:80").unwrap();
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
use serde::de::{Error, Unexpected, Visitor};
|
||||
use serde::{Deserialize, Deserializer};
|
||||
use std::fmt::{Display, Formatter};
|
||||
use std::path::Path;
|
||||
use serde::{Deserialize, Deserializer};
|
||||
use serde::de::{Error, Unexpected, Visitor};
|
||||
|
||||
#[derive(Debug, Clone, Eq, PartialEq, Hash)]
|
||||
pub struct NamespaceName(String);
|
||||
|
|
@ -41,8 +41,7 @@ impl<'de> Deserialize<'de> for NamespaceName {
|
|||
type Value = NamespaceName;
|
||||
|
||||
fn expecting(&self, formatter: &mut Formatter) -> std::fmt::Result {
|
||||
formatter
|
||||
.write_str("A valid namespace name")
|
||||
formatter.write_str("A valid namespace name")
|
||||
}
|
||||
|
||||
fn visit_str<E>(self, v: &str) -> Result<Self::Value, E>
|
||||
|
|
@ -57,7 +56,7 @@ impl<'de> Deserialize<'de> for NamespaceName {
|
|||
|
||||
fn visit_string<E>(self, v: String) -> Result<Self::Value, E>
|
||||
where
|
||||
E: Error
|
||||
E: Error,
|
||||
{
|
||||
if !validate_name(&v) {
|
||||
return Err(E::invalid_value(Unexpected::Str(&v), &self));
|
||||
|
|
@ -75,17 +74,18 @@ fn validate_name(name: &str) -> bool {
|
|||
if name.is_empty() {
|
||||
return false;
|
||||
}
|
||||
name.bytes().all(|b| b.is_ascii_alphanumeric() || [b'_', b'.', b'-'].contains(&b))
|
||||
name.bytes()
|
||||
.all(|b| b.is_ascii_alphanumeric() || [b'_', b'.', b'-'].contains(&b))
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_de() {
|
||||
use serde_test::{Token, assert_de_tokens, assert_de_tokens_error};
|
||||
use serde_test::{assert_de_tokens, assert_de_tokens_error, Token};
|
||||
|
||||
assert_de_tokens(&NamespaceName("foo".into()), &[Token::String("foo")]);
|
||||
|
||||
assert_de_tokens_error::<NamespaceName>(
|
||||
&[Token::String("foo/bar")],
|
||||
"invalid value: integer `-80`, expected Either a port as integer, or a string containing a socket address",
|
||||
"invalid value: string \"foo/bar\", expected A valid namespace name",
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ impl<'de> Deserialize<'de> for ForwardSource {
|
|||
|
||||
#[test]
|
||||
fn test_de() {
|
||||
use serde_test::{Token, assert_de_tokens, assert_de_tokens_error};
|
||||
use serde_test::{assert_de_tokens, assert_de_tokens_error, Token};
|
||||
|
||||
let addr_str = "127.0.0.1:80";
|
||||
let addr = SocketAddr::from_str("127.0.0.1:80").unwrap();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue