### Question:
ConferenceApi { @ApiMethod(name = "getProfile", path = "profile", httpMethod = HttpMethod.GET) public Profile getProfile(final User user) throws UnauthorizedException { if (user == null) { throw new UnauthorizedException("Authorization required"); } return ofy().load().key(Key.create(Profile.class, getUserId(user))).now(); }  @ApiMethod(name = "getProfile", path = "profile", httpMethod = HttpMethod.GET) Profile getProfile(final User user); @ApiMethod(name = "saveProfile", path = "profile", httpMethod = HttpMethod.POST) Profile saveProfile(final User user, final ProfileForm profileForm); @ApiMethod(name = "createConference", path = "conference", httpMethod = HttpMethod.POST) Conference createConference(final User user, final ConferenceForm conferenceForm); @ApiMethod( name = "updateConference", path = "conference/{websafeConferenceKey}", httpMethod = HttpMethod.PUT ) Conference updateConference(final User user, final ConferenceForm conferenceForm,
                                       @Named("websafeConferenceKey")
                                       final String websafeConferenceKey); @ApiMethod( name = "getAnnouncement", path = "announcement", httpMethod = HttpMethod.GET ) Announcement getAnnouncement(); @ApiMethod( name = "getConference", path = "conference/{websafeConferenceKey}", httpMethod = HttpMethod.GET ) Conference getConference(
            @Named("websafeConferenceKey") final String websafeConferenceKey); @ApiMethod( name = "getConferencesToAttend", path = "getConferencesToAttend", httpMethod = HttpMethod.GET ) Collection<Conference> getConferencesToAttend(final User user); @ApiMethod( name = "queryConferences", path = "queryConferences", httpMethod = HttpMethod.POST ) List<Conference> queryConferences(ConferenceQueryForm conferenceQueryForm); @ApiMethod( name = "getConferencesCreated", path = "getConferencesCreated", httpMethod = HttpMethod.POST ) List<Conference> getConferencesCreated(final User user); @ApiMethod( name = "registerForConference", path = "conference/{websafeConferenceKey}/registration", httpMethod = HttpMethod.POST ) WrappedBoolean registerForConference(final User user,
                                         @Named("websafeConferenceKey")
                                         final String websafeConferenceKey); @ApiMethod( name = "unregisterFromConference", path = "conference/{websafeConferenceKey}/registration", httpMethod = HttpMethod.DELETE ) WrappedBoolean unregisterFromConference(final User user,
                                            @Named("websafeConferenceKey")
                                            final String websafeConferenceKey);  }### Answer:
@Test(expected = UnauthorizedException.class) public void testGetProfileWithoutUser() throws Exception { conferenceApi.getProfile(null); }
@Test public void testGetProfile() throws Exception { conferenceApi.saveProfile(user, new ProfileForm(DISPLAY_NAME, TEE_SHIRT_SIZE)); Profile profile = conferenceApi.getProfile(user); assertEquals(USER_ID, profile.getUserId()); assertEquals(EMAIL, profile.getMainEmail()); assertEquals(TEE_SHIRT_SIZE, profile.getTeeShirtSize()); assertEquals(DISPLAY_NAME, profile.getDisplayName()); }