aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/resources/guild_-1_role_position.json271
-rw-r--r--tests/resources/role_-1_position.json10
-rw-r--r--tests/test_decode_role.rs302
-rw-r--r--tests/test_deser.rs29
-rw-r--r--tests/test_message.rs29
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");
-}