diff options
| author | Zeyla Hellyer <[email protected]> | 2018-07-31 20:08:05 -0700 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2018-07-31 20:08:05 -0700 |
| commit | c353d5832765a0df0a7b0d7172a7549469f51d05 (patch) | |
| tree | 7d4bc4aae383cc450f4909349a26559f63a493c2 /tests | |
| parent | Deprecate Context::edit_profile (diff) | |
| download | serenity-c353d5832765a0df0a7b0d7172a7549469f51d05.tar.xz serenity-c353d5832765a0df0a7b0d7172a7549469f51d05.zip | |
Merge deserialization tests into one
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/resources/guild_-1_role_position.json | 271 | ||||
| -rw-r--r-- | tests/resources/role_-1_position.json | 10 | ||||
| -rw-r--r-- | tests/test_decode_role.rs | 302 | ||||
| -rw-r--r-- | tests/test_deser.rs | 29 | ||||
| -rw-r--r-- | tests/test_message.rs | 29 |
5 files changed, 307 insertions, 334 deletions
diff --git a/tests/resources/guild_-1_role_position.json b/tests/resources/guild_-1_role_position.json new file mode 100644 index 0000000..30898d1 --- /dev/null +++ b/tests/resources/guild_-1_role_position.json @@ -0,0 +1,271 @@ +{ + "voice_states": [], + "verification_level": 0, + "explicit_content_filter": 0, + "unavailable": false, + "splash": null, + "roles": [ + { + "position": -1, + "permissions": 37215297, + "name": "@everyone", + "mentionable": false, + "managed": false, + "id": "1", + "hoist": false, + "color": 0 + }, + { + "position": 1, + "permissions": 66583679, + "name": "role", + "mentionable": false, + "managed": false, + "id": "1", + "hoist": true, + "color": 7419530 + }, + { + "position": 2, + "permissions": 536345727, + "name": "role 2", + "mentionable": false, + "managed": false, + "id": "17", + "hoist": true, + "color": 2123412 + }, + { + "position": 3, + "permissions": 66583679, + "name": "role 3", + "mentionable": false, + "managed": false, + "id": "166", + "hoist": true, + "color": 3447003 + }, + { + "position": 1, + "permissions": 37215297, + "name": "aaaaaa", + "mentionable": true, + "managed": false, + "id": "88", + "hoist": false, + "color": 15277667 + }, + { + "position": 1, + "permissions": 35840, + "name": "aaaabsadfasda", + "mentionable": false, + "managed": true, + "id": "643534543", + "hoist": false, + "color": 0 + } + ], + "region": "us-central", + "presences": [ + { + "user": { + "id": "2342342" + }, + "status": "online", + "game": null + }, + { + "user": { + "id": "1233432" + }, + "status": "online", + "game": null + }, + { + "user": { + "id": "35353534" + }, + "status": "online", + "game": { + "url": "", + "type": 0, + "name": "aaaaaa" + } + }, + { + "user": { + "id": "12314324" + }, + "status": "online", + "game": null + } + ], + "owner_id": "7", + "name": "guild name", + "mfa_level": 0, + "members": [ + { + "user": { + "username": "aaa", + "id": "92781184873947136", + "discriminator": "6291", + "avatar": "asdasdadada" + }, + "roles": [ + "164155714355462146" + ], + "nick": "asdasdadas", + "mute": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "deaf": false + }, + { + "user": { + "username": "aaaaaa", + "id": "161972119494852608", + "discriminator": "7653", + "avatar": "ffffff" + }, + "roles": [ + "2342432423432" + ], + "mute": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "deaf": false + }, + { + "user": { + "username": "aaaaa", + "id": "167333834952540160", + "discriminator": "0857", + "bot": true, + "avatar": "ffffff" + }, + "roles": [ + "34534543543" + ], + "mute": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "deaf": false + }, + { + "user": { + "username": "aaaaaaa", + "id": "171403455745884160", + "discriminator": "0075", + "avatar": "ffffff" + }, + "roles": [ + "56465464" + ], + "mute": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "deaf": false + }, + { + "user": { + "username": "asdasdsadas", + "id": "12312312", + "discriminator": "7181", + "bot": true, + "avatar": "ffffff" + }, + "roles": [ + "12313212321" + ], + "nick": null, + "mute": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "deaf": false + }, + { + "user": { + "username": "aaaaa", + "id": "1231231231", + "discriminator": "2138", + "bot": true, + "avatar": "fake" + }, + "roles": [ + "1231231312" + ], + "nick": null, + "mute": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "deaf": false + } + ], + "member_count": 6, + "large": false, + "joined_at": "2017-01-29T15:35:17.136000+00:00", + "id": "12321321312321", + "icon": "fake icon", + "features": [], + "emojis": [], + "default_message_notifications": 0, + "channels": [ + { + "type": 0, + "topic": "", + "position": 0, + "permission_overwrites": [ + { + "type": "role", + "id": "123131231321", + "deny": 0, + "allow": 0 + } + ], + "name": "asdadsa", + "last_message_id": "5676576575", + "id": "3453543543" + }, + { + "user_limit": 0, + "type": 2, + "position": 0, + "permission_overwrites": [], + "name": "adssadasda", + "id": "56464564645", + "bitrate": 63841 + }, + { + "user_limit": 0, + "type": 2, + "position": 1, + "permission_overwrites": [ + { + "type": "role", + "id": "23423432423", + "deny": 2097152, + "allow": 0 + } + ], + "name": "AFK", + "id": "23432434242", + "bitrate": 64000 + }, + { + "type": 0, + "topic": null, + "position": 1, + "permission_overwrites": [], + "name": "asdasdasdsa", + "last_message_id": "234324324242", + "id": "2342343243242" + }, + { + "user_limit": 0, + "type": 2, + "position": 2, + "permission_overwrites": [], + "name": "asdadsa", + "id": "32134242342", + "bitrate": 96000 + } + ], + "afk_timeout": 900, + "afk_channel_id": "23432423423", + "system_channel_id": null +} diff --git a/tests/resources/role_-1_position.json b/tests/resources/role_-1_position.json new file mode 100644 index 0000000..7dca625 --- /dev/null +++ b/tests/resources/role_-1_position.json @@ -0,0 +1,10 @@ +{ + "position": -1, + "permissions": 37215297, + "name": "@everyone", + "mentionable": false, + "managed": false, + "id": "444", + "hoist": false, + "color": 0 +} diff --git a/tests/test_decode_role.rs b/tests/test_decode_role.rs deleted file mode 100644 index 61e0e13..0000000 --- a/tests/test_decode_role.rs +++ /dev/null @@ -1,302 +0,0 @@ -extern crate serde_json; -extern crate serenity; - -use serde_json::Value; -use serenity::model::guild::{Guild, Role}; - -#[test] -fn decode_negative_one_role_position() { - let json = r#"{ - "position": -1, - "permissions": 37215297, - "name": "@everyone", - "mentionable": false, - "managed": false, - "id": "444", - "hoist": false, - "color": 0 - }"#; - - let value: Value = serde_json::from_str(json).unwrap(); - - serde_json::from_value::<Role>(value).unwrap(); -} - -#[test] -fn decode_guild_with_n1_role_position() { - let json = r#"{ - "voice_states": [], - "verification_level": 0, - "explicit_content_filter": 0, - "unavailable": false, - "splash": null, - "roles": [ - { - "position": -1, - "permissions": 37215297, - "name": "@everyone", - "mentionable": false, - "managed": false, - "id": "1", - "hoist": false, - "color": 0 - }, - { - "position": 1, - "permissions": 66583679, - "name": "role", - "mentionable": false, - "managed": false, - "id": "1", - "hoist": true, - "color": 7419530 - }, - { - "position": 2, - "permissions": 536345727, - "name": "role 2", - "mentionable": false, - "managed": false, - "id": "17", - "hoist": true, - "color": 2123412 - }, - { - "position": 3, - "permissions": 66583679, - "name": "role 3", - "mentionable": false, - "managed": false, - "id": "166", - "hoist": true, - "color": 3447003 - }, - { - "position": 1, - "permissions": 37215297, - "name": "aaaaaa", - "mentionable": true, - "managed": false, - "id": "88", - "hoist": false, - "color": 15277667 - }, - { - "position": 1, - "permissions": 35840, - "name": "aaaabsadfasda", - "mentionable": false, - "managed": true, - "id": "643534543", - "hoist": false, - "color": 0 - } - ], - "region": "us-central", - "presences": [ - { - "user": { - "id": "2342342" - }, - "status": "online", - "game": null - }, - { - "user": { - "id": "1233432" - }, - "status": "online", - "game": null - }, - { - "user": { - "id": "35353534" - }, - "status": "online", - "game": { - "url": "", - "type": 0, - "name": "aaaaaa" - } - }, - { - "user": { - "id": "12314324" - }, - "status": "online", - "game": null - } - ], - "owner_id": "7", - "name": "guild name", - "mfa_level": 0, - "members": [ - { - "user": { - "username": "aaa", - "id": "92781184873947136", - "discriminator": "6291", - "avatar": "asdasdadada" - }, - "roles": [ - "164155714355462146" - ], - "nick": "asdasdadas", - "mute": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "deaf": false - }, - { - "user": { - "username": "aaaaaa", - "id": "161972119494852608", - "discriminator": "7653", - "avatar": "ffffff" - }, - "roles": [ - "2342432423432" - ], - "mute": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "deaf": false - }, - { - "user": { - "username": "aaaaa", - "id": "167333834952540160", - "discriminator": "0857", - "bot": true, - "avatar": "ffffff" - }, - "roles": [ - "34534543543" - ], - "mute": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "deaf": false - }, - { - "user": { - "username": "aaaaaaa", - "id": "171403455745884160", - "discriminator": "0075", - "avatar": "ffffff" - }, - "roles": [ - "56465464" - ], - "mute": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "deaf": false - }, - { - "user": { - "username": "asdasdsadas", - "id": "12312312", - "discriminator": "7181", - "bot": true, - "avatar": "ffffff" - }, - "roles": [ - "12313212321" - ], - "nick": null, - "mute": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "deaf": false - }, - { - "user": { - "username": "aaaaa", - "id": "1231231231", - "discriminator": "2138", - "bot": true, - "avatar": "fake" - }, - "roles": [ - "1231231312" - ], - "nick": null, - "mute": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "deaf": false - } - ], - "member_count": 6, - "large": false, - "joined_at": "2017-01-29T15:35:17.136000+00:00", - "id": "12321321312321", - "icon": "fake icon", - "features": [], - "emojis": [], - "default_message_notifications": 0, - "channels": [ - { - "type": 0, - "topic": "", - "position": 0, - "permission_overwrites": [ - { - "type": "role", - "id": "123131231321", - "deny": 0, - "allow": 0 - } - ], - "name": "asdadsa", - "last_message_id": "5676576575", - "id": "3453543543" - }, - { - "user_limit": 0, - "type": 2, - "position": 0, - "permission_overwrites": [], - "name": "adssadasda", - "id": "56464564645", - "bitrate": 63841 - }, - { - "user_limit": 0, - "type": 2, - "position": 1, - "permission_overwrites": [ - { - "type": "role", - "id": "23423432423", - "deny": 2097152, - "allow": 0 - } - ], - "name": "AFK", - "id": "23432434242", - "bitrate": 64000 - }, - { - "type": 0, - "topic": null, - "position": 1, - "permission_overwrites": [], - "name": "asdasdasdsa", - "last_message_id": "234324324242", - "id": "2342343243242" - }, - { - "user_limit": 0, - "type": 2, - "position": 2, - "permission_overwrites": [], - "name": "asdadsa", - "id": "32134242342", - "bitrate": 96000 - } - ], - "afk_timeout": 900, - "afk_channel_id": "23432423423", - "system_channel_id": null - }"#; - - let value: Value = serde_json::from_str(json).unwrap(); - - serde_json::from_value::<Guild>(value).unwrap(); -} diff --git a/tests/test_deser.rs b/tests/test_deser.rs index 70b6f1f..72c955d 100644 --- a/tests/test_deser.rs +++ b/tests/test_deser.rs @@ -8,11 +8,12 @@ use serenity::model::prelude::*; use std::fs::File; macro_rules! p { - ($s:ident, $filename:expr) => { + ($s:ident, $filename:expr) => {{ let f = File::open(concat!("./tests/resources/", $filename, ".json")).unwrap(); let v = serde_json::from_reader::<File, Value>(f).unwrap(); - let _ = $s::deserialize(v).unwrap(); - }; + + $s::deserialize(v).unwrap() + }}; } #[test] @@ -193,3 +194,25 @@ fn guild_features_deser() { fn guild_system_channel_id_missing() { p!(Guild, "guild_system_channel_id_missing"); } + +#[test] +fn decode_negative_one_role_position() { + p!(Role, "role_-1_position"); +} + +#[test] +fn decode_guild_with_n1_role_position() { + p!(Guild, "guild_-1_role_position"); +} + +#[test] +fn decode_footer_deser() { + let mut message = p!(Message, "message_footer_1"); + + assert_eq!( + message.embeds.remove(0).footer.unwrap().text, + "2005-09-26 - 2013-09-26" + ); + + p!(Message, "message_footer_2"); +} diff --git a/tests/test_message.rs b/tests/test_message.rs deleted file mode 100644 index 71afcf5..0000000 --- a/tests/test_message.rs +++ /dev/null @@ -1,29 +0,0 @@ -extern crate serde; -extern crate serde_json; -extern crate serenity; - -use serde::de::Deserialize; -use serde_json::Value; -use serenity::model::channel::Message; -use std::fs::File; - -macro_rules! p { - ($s:ident, $filename:expr) => ({ - let f = File::open(concat!("./tests/resources/", $filename, ".json")).unwrap(); - let v = serde_json::from_reader::<File, Value>(f).unwrap(); - - $s::deserialize(v).unwrap() - }) -} - -#[test] -fn test_footer_deser() { - let mut message = p!(Message, "message_footer_1"); - - assert_eq!( - message.embeds.remove(0).footer.unwrap().text, - "2005-09-26 - 2013-09-26" - ); - - p!(Message, "message_footer_2"); -} |