From 3198fbc514c742c38e8ba9f64d4148885e53a2a8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lukas=20F=C3=BCrderer?= <l.fuerderer@gmail.com>
Date: Wed, 8 May 2019 15:08:29 +0200
Subject: [PATCH] Add test for correct serialization of a texture

---
 .../src/protocol/implementation/connection.rs | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/server/texture-sync-server/src/protocol/implementation/connection.rs b/server/texture-sync-server/src/protocol/implementation/connection.rs
index 7202971..5599572 100644
--- a/server/texture-sync-server/src/protocol/implementation/connection.rs
+++ b/server/texture-sync-server/src/protocol/implementation/connection.rs
@@ -388,4 +388,23 @@ mod test {
 
         test_read_back(&Package::Binary(vec![42u8; 50000]));
     }
+
+    #[test]
+    fn test_correct_serialization() {
+        let mut buffer = Vec::new();
+        serde_json::to_writer(&mut buffer, &demo_texture()).unwrap();
+        let json_value: serde_json::value::Value = serde_json::from_reader(&buffer[..]).unwrap();
+        let expected_value = serde_json::json!(
+            {
+                "id": "d32e1f80-a17a-4dd7-8ed7-c3a2de1de1c9",
+                "name": "texture.png",
+                "tags": ["Wood", "Hair"],
+                "format": "png",
+                "resolution": [512, 512],
+                "added_on": [2019, 10, 12],
+                "texture_hash": "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
+            }
+        );
+        assert_eq!(json_value, expected_value);
+    }
 }