Java tutorial
package edu.htwm.vsp.phoebook.rest.client; import edu.htwm.vsp.phone.service.PhoneNumber; import edu.htwm.vsp.phone.service.PhoneUser; import static java.net.HttpURLConnection.HTTP_CREATED; import static java.net.HttpURLConnection.HTTP_NOT_FOUND; import static java.net.HttpURLConnection.HTTP_OK; import org.apache.commons.lang.RandomStringUtils; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import org.junit.Test; /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /** * * @author adopleb, mbenndor */ public class HttpComponentsClient extends RestClient { /** * Testet, ob sich ein User anlegen kann und danach abgerufen werden kann. * Anschlieend wird getestet, dass ein User auch gelscht wird. */ @Test public void testCreateAndDeleteUserAndGetUserInfo() throws Exception { // Testet das Anlegen eines Nutzers PhoneUser user = new PhoneUser("dieter"); PhoneUser fetchedUser = verifyAddUser(user.getName(), HTTP_CREATED, xml); assertEquals(user.getName(), fetchedUser.getName()); String userId = Integer.toString(fetchedUser.getId()); // Testet, ob sich dieser Nutzer ber GET abrufen lsst und identisch mit dem erstellten User ist fetchedUser = verifyGetUserInfo(userId, HTTP_OK, xml); assertEquals(user.getName(), fetchedUser.getName()); // Testet das Lschen verifyDeleteUser(userId, HTTP_OK); // User sollte danach nicht gefunden werden verifyGetUserInfo(userId, HTTP_NOT_FOUND, xml); // erneutes Lschen wird fehlschlagen verifyDeleteUser(userId, HTTP_NOT_FOUND); //verifyListAllUsers(HTTP_OK); } /** * Testet das Anlegen und Lschen von Telefonnummern */ @Test public void addAndDeleteNumber() throws Exception { // Nutzer anlegen PhoneUser user = new PhoneUser("dieter"); PhoneUser fetchedUser = verifyAddUser(user.getName(), HTTP_CREATED, xml); // zufllige Nummer anlegen String phoneCaption = RandomStringUtils.randomAlphanumeric(10); String phoneNumber = RandomStringUtils.randomAlphanumeric(8); PhoneNumber newNumber = new PhoneNumber(phoneCaption, phoneNumber); user.setNumber(phoneCaption, phoneNumber); String userId = Integer.toString(fetchedUser.getId()); // Nummer zu User speichern und prfen, dass dies enthalten ist fetchedUser = verifyAddNumber(userId, phoneCaption, phoneNumber, 201, xml); assertThat(fetchedUser.getPhoneNumbers().contains(newNumber), is(true)); assertEquals(user.getPhoneNumbers(), fetchedUser.getPhoneNumbers()); // Diese Nummer wieder lschen verifyDeleteNumber(userId, phoneCaption, HTTP_OK, xml); // ein weiteres Lschen sollte fehlschlagen verifyDeleteNumber(userId, phoneCaption, HTTP_NOT_FOUND, xml); // Nutzer wieder lschen verifyDeleteUser(userId, HTTP_OK); } }