package in.partake.controller.api.event; import static org.hamcrest.Matchers.is; import static org.hamcrest.Matchers.nullValue; import static org.junit.Assert.assertThat; import java.util.TimeZone; import in.partake.base.DateTime; import in.partake.base.TimeUtil; import in.partake.base.Util; import in.partake.controller.ActionProxy; import in.partake.controller.api.APIControllerTest; import in.partake.model.dto.Event; import in.partake.resource.UserErrorCode; import org.junit.After; import org.junit.Before; import org.junit.Test; public class ModifyAPITest extends APIControllerTest { private TimeZone defaultTimeZone; @Before public void setTimeZone() { defaultTimeZone = TimeZone.getDefault(); TimeZone.setDefault(TimeZone.getTimeZone("Asia/Tokyo")); } @After public void resetTimeZone() { TimeZone.setDefault(defaultTimeZone); } @Test public void testToModifyWithoutLogin() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "title", "modified"); proxy.execute(); assertResultLoginRequired(proxy); } @Test public void testToModifyWithInvalidSessionToken() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addInvalidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "title", "modified"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_SECURITY_CSRF); } @Test public void testToModifyWithInvalidEventId1() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", INVALID_EVENT_ID); addFormParameter(proxy, "title", "modified"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_EVENT_ID); } @Test public void testToModifyWithInvalidEventId2() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", "non-uuid"); addFormParameter(proxy, "title", "modified"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_EVENT_ID); } // --- title @Test public void testToModifyTitle() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "title", "modified"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getTitle(), is("modified")); } @Test public void testToModifyTitleEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "title", ""); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "title"); } @Test public void testToModifyTitleTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "title", Util.randomString(101)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "title"); } @Test public void testToModifyTitleLongEnough() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "title", Util.randomString(100)); proxy.execute(); assertResultOK(proxy); } // --- summary @Test public void testToModifySummary() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "summary", "modified"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getSummary(), is("modified")); } @Test public void testToModifySummaryEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "summary", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getSummary(), is("")); } @Test public void testToModifySummaryTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "summary", Util.randomString(101)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "summary"); } @Test public void testToModifySummaryLongEnough() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "summary", Util.randomString(100)); proxy.execute(); assertResultOK(proxy); } // --- category @Test public void testToModifyCategory() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "category", "others"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getCategory(), is("others")); } @Test public void testToModifyCategoryEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "category", ""); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "category"); } @Test public void testToModifyCategoryInvalid() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "category", "invalidCategory"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "category"); } // --- begindate @Test public void testToModifyBeginDate() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", "2012-08-01 00:00"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getBeginDate(), is(TimeUtil.create(2012, 8, 1, 0, 0, 0))); } @Test public void testToModifyBeginDateFromEpoc() throws Exception { DateTime dt = TimeUtil.create(2012, 8, 1, 0, 0, 0); ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", String.valueOf(dt.getTime())); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getBeginDate(), is(dt)); } @Test public void testToModifyBeginDateInvalid() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", "invalid"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "beginDate"); } @Test public void testToModifyBeginDateEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", ""); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "beginDate"); } @Test public void testToModifyBeginDateInvalidRange() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", "1970-01-01 09:00"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "beginDate"); } @Test public void testToModifyBeginDateInvalidRange2() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", "1900-01-01 09:00"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "beginDate"); } @Test public void testToModifyBeginDateInvalidRange3() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "beginDate", "2200-01-01 09:00"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "beginDate"); } // --- enddata @Test public void testToModifyEndDate() throws Exception { DateTime newEndDate = TimeUtil.getCurrentDateTime().nDayAfter(10).adjustByMinutes(); ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", newEndDate.toHumanReadableFormat()); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getEndDate(), is(newEndDate)); } @Test public void testToModifyEndDateFromEpoc() throws Exception { DateTime tomorrow = TimeUtil.getCurrentDateTime().nDayAfter(1); ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", String.valueOf(tomorrow.getTime())); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getEndDate(), is(tomorrow)); } @Test public void testToModifyEndDateInvalid() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", "invalid"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "endDate"); } @Test public void testToModifyEndDateEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getEndDate(), is(nullValue())); } @Test public void testToModifyEndDateInvalidRange() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", "1970-01-01 09:00"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "endDate"); } @Test public void testToModifyEndDateInvalidRange2() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", "1900-01-01 09:00"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "endDate"); } @Test public void testToModifyEndDateInvalidRange3() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "endDate", "2200-01-01 09:00"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "endDate"); } // --- url @Test public void testToModifyUrl() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "url", "http://www.example.com/hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getUrl(), is("http://www.example.com/hogehoge")); } @Test public void testToModifyUrlValidHttps() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "url", "https://www.example.com/hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getUrl(), is("https://www.example.com/hogehoge")); } @Test public void testToModifyUrlEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "url", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getUrl(), is("")); } @Test public void testToModifyUrlTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "url", "http://" + Util.randomString(4000)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "url"); } @Test public void testToModifyUrlInvalid() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "url", "invalid://www.example.com/"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "url"); } // --- place @Test public void testToModifyPlace() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "place", "hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getPlace(), is("hogehoge")); } @Test public void testToModifyPlaceEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "place", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getPlace(), is("")); } @Test public void testToModifyPlaceTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "place", Util.randomString(400)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "place"); } // --- address @Test public void testToModifyAddress() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "address", "hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getAddress(), is("hogehoge")); } @Test public void testToModifyAddressEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "address", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getAddress(), is("")); } @Test public void testToModifyAddressTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "address", Util.randomString(301)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "address"); } // --- description @Test public void testToModifyDescription() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "description", "hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getDescription(), is("hogehoge")); } @Test public void testToModifyDescriptionEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "description", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getDescription(), is("")); } @Test public void testToModifyDescritpionTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "description", Util.randomString(1000 * 1000 + 1)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "description"); } // --- hashtag @Test public void testToModifyHashTag() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "hashTag", "#hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getHashTag(), is("#hogehoge")); } @Test public void testToModifyHashTagEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "hashTag", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getHashTag(), is(nullValue())); } @Test public void testToModifyHashTagTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "hashTag", "#" + Util.randomString(200)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "hashTag"); } @Test public void testToModifyHashTagInvalid() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "hashTag", "mogemoge"); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "hashTag"); } // --- passcode @Test public void testToModifyPasscode() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "passcode", "hogehoge"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getPasscode(), is("hogehoge")); } @Test public void testToModifyPasscodeEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "passcode", ""); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getPasscode(), is(nullValue())); } @Test public void testToModifyPasscodeTooLong() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "passcode", Util.randomString(21)); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "passcode"); } // --- foreimageid @Test public void testToModifyForeImage() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "foreImageId", EVENT_FOREIMAGE_ID); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getForeImageId(), is(EVENT_FOREIMAGE_ID)); } @Test public void testToModifyForeImageEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "foreImageId", ""); proxy.execute(); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getForeImageId(), is(nullValue())); } @Test public void testToModifyForeImageNotOwned() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "foreImageId", IMAGE_OWNER_IMAGE_ID); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "foreImageId"); } // backimageid @Test public void testToModifyBackImage() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "backImageId", EVENT_FOREIMAGE_ID); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getBackImageId(), is(EVENT_FOREIMAGE_ID)); } @Test public void testToModifyBackImageEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "backImageId", ""); proxy.execute(); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getBackImageId(), is(nullValue())); } @Test public void testToModifyBackImageNotOwned() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "backImageId", IMAGE_OWNER_IMAGE_ID); proxy.execute(); assertResultInvalid(proxy, UserErrorCode.INVALID_PARAMETERS, "backImageId"); } // --- relatedEventIds[] @Test public void testToModifyRelatedEventIdsEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "relatedEventIds[]", "[]"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getRelatedEventIds().size(), is(0)); } // --- editorIds[] @Test public void testToModifyEditorIdsEmpty() throws Exception { ActionProxy proxy = getActionProxy(POST, "/api/event/modify"); loginAs(proxy, EVENT_OWNER_ID); addValidSessionTokenToParameter(proxy); addFormParameter(proxy, "eventId", DEFAULT_EVENT_ID); addFormParameter(proxy, "editorIds[]", "[]"); proxy.execute(); assertResultOK(proxy); Event modified = loadEvent(DEFAULT_EVENT_ID); assertThat(modified.getRelatedEventIds().size(), is(0)); } }