From d879dd0663b2e8f508b300c2d26e5413bd0c9253 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Thu, 24 Oct 2013 22:52:41 +0200 Subject: [PATCH] Add tests for missing and empty profiles. --- .../pterodactylus/sone/core/SoneParserTest.java | 18 ++++ src/test/resources/sone-parser/empty-profile.xml | 119 +++++++++++++++++++++ src/test/resources/sone-parser/missing-profile.xml | 116 ++++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 src/test/resources/sone-parser/empty-profile.xml create mode 100644 src/test/resources/sone-parser/missing-profile.xml diff --git a/src/test/java/net/pterodactylus/sone/core/SoneParserTest.java b/src/test/java/net/pterodactylus/sone/core/SoneParserTest.java index a950c77..16fa99e 100644 --- a/src/test/java/net/pterodactylus/sone/core/SoneParserTest.java +++ b/src/test/java/net/pterodactylus/sone/core/SoneParserTest.java @@ -93,6 +93,24 @@ public class SoneParserTest { assertThat(sone.getClient(), is(originalSone.getClient())); } + @Test(expected = MalformedXml.class) + public void verifyThatAMissingProfileCausesAnError() { + soneParser.parseSone(database, originalSone, getXml("missing-profile")); + } + + @Test + public void verifyThatAnEmptyProfileIsParsedWithoutError() { + Sone sone = soneParser.parseSone(database, originalSone, getXml("empty-profile")); + assertThat(sone.getProfile().getFirstName(), nullValue()); + assertThat(sone.getProfile().getMiddleName(), nullValue()); + assertThat(sone.getProfile().getLastName(), nullValue()); + assertThat(sone.getProfile().getBirthYear(), nullValue()); + assertThat(sone.getProfile().getBirthMonth(), nullValue()); + assertThat(sone.getProfile().getBirthDay(), nullValue()); + assertThat(sone.getProfile().getAvatar(), nullValue()); + assertThat(sone.getProfile().getFields(), empty()); + } + @Test public void verifyThatTheCreatedSoneMeetsAllExpectations() { Sone sone = soneParser.parseSone(database, originalSone, getXml("complete")); diff --git a/src/test/resources/sone-parser/empty-profile.xml b/src/test/resources/sone-parser/empty-profile.xml new file mode 100644 index 0000000..56e5ab7 --- /dev/null +++ b/src/test/resources/sone-parser/empty-profile.xml @@ -0,0 +1,119 @@ + + + + + 0 + + + Sone + 0.8.7 + + + + + + + + bbb7ebf0-3adb-11e3-8a0b-630cd8f21cf3 + + + Hello, World! + + + d8c9586e-3adb-11e3-bb31-171fc040e645 + 0rpD4gL8mszav2trndhIdKIxvKUCNAe2kjA3dLV8CVU + + Hello, User! + + + + + + f09fa448-3adb-11e3-a783-ab54a11aacc4 + bbb7ebf0-3adb-11e3-8a0b-630cd8f21cf3 + + Talking to myself. + + + 0a376440-3adc-11e3-8f45-c7cc157436a5 + 11ebe86e-3adc-11e3-b7b9-7f2c88018a33 + + Talking to somebody I can't see. + + + + + bbb7ebf0-3adb-11e3-8a0b-630cd8f21cf3 + 305d85e6-3adc-11e3-be45-8b53dd91f0af + + + + f09fa448-3adb-11e3-a783-ab54a11aacc4 + 3ba28960-3adc-11e3-93c7-6713d170f44c + + + + + 6a73c6e6-3adc-11e3-b091-577b10a725ad + Album1 + First album with stuff. + e3707102-3adc-11e3-b828-9f4de99f0bc4 + + + 8966f69a-3adc-11e3-802d-0f57b63c8809 + 1382420473000 + SSK@JvW9oZ8AriNGbwBosJD1gyMdiMHc5AgSmhNBU1CmAb8,na1IPpMcYiZLaWSv9EWq9NcDPPGplQBw8kJsLobXIG4,AQACAAE/8966f69a-3adc-11e3-802d-0f57b63c8809.jpg + Stuff + Yes, it's stuff! + 640 + 480 + + + e3707102-3adc-11e3-b828-9f4de99f0bc4 + 1382420624000 + SSK@dM1er7A9tG242bG-Xxy0kmprD7YkqEDE9mrZ98C~L3E,Np3iWiaGyd~er86edP9ndpH3pPKk2owDmAT2TQZNBA0,AQACAAE/e3707102-3adc-11e3-b828-9f4de99f0bc4.jpg + More Stuff + Yes, it's more stuff! + 640 + 360 + + + + + 1e73b52a-3add-11e3-ba45-cb0c28da9c2a + 6a73c6e6-3adc-11e3-b091-577b10a725ad + Nested Album + Nested album with stuff. + 312182ba-3add-11e3-bd76-13e7278f0161 + + + 312182ba-3add-11e3-bd76-13e7278f0161 + 1382420756000 + SSK@0rpD4gL8mszav2trndhIdKIxvKUCNAe2kjA3dLV8CVU,2KP8WDSaQvyJ16pXBHQrE1vj~fAaYPIsk35lM-ec4B0,AQACAAE/312182ba-3add-11e3-bd76-13e7278f0161.jpg + Other Stuff + Yes, it's other stuff! + 640 + 272 + + + + + 8a04b5fa-3add-11e3-afe2-676e721c04bd + Avatars + The avatar collection. + 96431abe-3add-11e3-8a46-67047503bf6d + + + 96431abe-3add-11e3-8a46-67047503bf6d + 1382420923000 + SSK@v6Js3ZJBMB23IB0JvdgiPynHQBYEvkFSi3~D8RDdj3s,FfLhjRC4bqYLHVexT33Pv6agXl6Ft~TDhX1jIM5w2n4,AQACAAE/96431abe-3add-11e3-8a46-67047503bf6d.png + Avatar 1 + The first avatar. + 64 + 64 + + + + + + diff --git a/src/test/resources/sone-parser/missing-profile.xml b/src/test/resources/sone-parser/missing-profile.xml new file mode 100644 index 0000000..2397b84 --- /dev/null +++ b/src/test/resources/sone-parser/missing-profile.xml @@ -0,0 +1,116 @@ + + + + + 0 + + + Sone + 0.8.7 + + + + + bbb7ebf0-3adb-11e3-8a0b-630cd8f21cf3 + + + Hello, World! + + + d8c9586e-3adb-11e3-bb31-171fc040e645 + 0rpD4gL8mszav2trndhIdKIxvKUCNAe2kjA3dLV8CVU + + Hello, User! + + + + + + f09fa448-3adb-11e3-a783-ab54a11aacc4 + bbb7ebf0-3adb-11e3-8a0b-630cd8f21cf3 + + Talking to myself. + + + 0a376440-3adc-11e3-8f45-c7cc157436a5 + 11ebe86e-3adc-11e3-b7b9-7f2c88018a33 + + Talking to somebody I can't see. + + + + + bbb7ebf0-3adb-11e3-8a0b-630cd8f21cf3 + 305d85e6-3adc-11e3-be45-8b53dd91f0af + + + + f09fa448-3adb-11e3-a783-ab54a11aacc4 + 3ba28960-3adc-11e3-93c7-6713d170f44c + + + + + 6a73c6e6-3adc-11e3-b091-577b10a725ad + Album1 + First album with stuff. + e3707102-3adc-11e3-b828-9f4de99f0bc4 + + + 8966f69a-3adc-11e3-802d-0f57b63c8809 + 1382420473000 + SSK@JvW9oZ8AriNGbwBosJD1gyMdiMHc5AgSmhNBU1CmAb8,na1IPpMcYiZLaWSv9EWq9NcDPPGplQBw8kJsLobXIG4,AQACAAE/8966f69a-3adc-11e3-802d-0f57b63c8809.jpg + Stuff + Yes, it's stuff! + 640 + 480 + + + e3707102-3adc-11e3-b828-9f4de99f0bc4 + 1382420624000 + SSK@dM1er7A9tG242bG-Xxy0kmprD7YkqEDE9mrZ98C~L3E,Np3iWiaGyd~er86edP9ndpH3pPKk2owDmAT2TQZNBA0,AQACAAE/e3707102-3adc-11e3-b828-9f4de99f0bc4.jpg + More Stuff + Yes, it's more stuff! + 640 + 360 + + + + + 1e73b52a-3add-11e3-ba45-cb0c28da9c2a + 6a73c6e6-3adc-11e3-b091-577b10a725ad + Nested Album + Nested album with stuff. + 312182ba-3add-11e3-bd76-13e7278f0161 + + + 312182ba-3add-11e3-bd76-13e7278f0161 + 1382420756000 + SSK@0rpD4gL8mszav2trndhIdKIxvKUCNAe2kjA3dLV8CVU,2KP8WDSaQvyJ16pXBHQrE1vj~fAaYPIsk35lM-ec4B0,AQACAAE/312182ba-3add-11e3-bd76-13e7278f0161.jpg + Other Stuff + Yes, it's other stuff! + 640 + 272 + + + + + 8a04b5fa-3add-11e3-afe2-676e721c04bd + Avatars + The avatar collection. + 96431abe-3add-11e3-8a46-67047503bf6d + + + 96431abe-3add-11e3-8a46-67047503bf6d + 1382420923000 + SSK@v6Js3ZJBMB23IB0JvdgiPynHQBYEvkFSi3~D8RDdj3s,FfLhjRC4bqYLHVexT33Pv6agXl6Ft~TDhX1jIM5w2n4,AQACAAE/96431abe-3add-11e3-8a46-67047503bf6d.png + Avatar 1 + The first avatar. + 64 + 64 + + + + + + -- 2.7.4