Package de.metalcon.server.tomcat.NSSP.create

Source Code of de.metalcon.server.tomcat.NSSP.create.CreateUserRequestTest

package de.metalcon.server.tomcat.NSSP.create;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;

import org.junit.Test;

import de.metalcon.server.tomcat.NSSP.ProtocolConstants;
import de.metalcon.server.tomcat.NSSP.RequestTest;
import de.metalcon.server.tomcat.NSSP.create.user.CreateUserRequest;
import de.metalcon.server.tomcat.NSSP.create.user.CreateUserResponse;
import de.metalcon.utils.FormItemList;

public class CreateUserRequestTest extends CreateRequestTest {

  /**
   * valid create request type: user
   */
  private static final String VALID_TYPE = CreateRequestType.USER
      .getIdentifier();

  /**
   * valid user identifier (unused identifier)
   */
  private static final String VALID_USER_IDENTIFIER = RequestTest.INVALID_USER_IDENTIFIER;

  /**
   * invalid user identifier (used identifier)
   */
  private static final String INVALID_USER_IDENTIFIER = RequestTest.VALID_USER_IDENTIFIER;

  /**
   * valid user display name
   */
  private static final String VALID_DISPLAY_NAME = "Testy";

  /**
   * valid user profile picture path
   */
  private static final String VALID_PROFILE_PICTURE_PATH = "http://www.totaberlustig.com/comics/2011-04-22-Clap%20your%20hands.jpg";

  /**
   * create user request object
   */
  private CreateUserRequest createUserRequest;

  private void fillRequest(final String type, final String userId,
      final String displayName, final String profilePicturePath) {
    // create form item list
    final FormItemList formItemList = new FormItemList();
    formItemList.addField(ProtocolConstants.Parameters.Create.TYPE, type);

    final CreateResponse createResponse = new CreateResponse();
    CreateRequest createRequest;
    createRequest = CreateRequest
        .checkRequest(formItemList, createResponse);

    if (createRequest == null) {
      this.jsonResponse = extractJson(createResponse);
    } else {
      formItemList.addField(
          ProtocolConstants.Parameters.Create.User.USER_IDENTIFIER, userId);
      formItemList.addField(
          ProtocolConstants.Parameters.Create.User.DISPLAY_NAME,
          displayName);
      formItemList.addField(
          ProtocolConstants.Parameters.Create.User.PROFILE_PICTURE_PATH,
          profilePicturePath);

      final CreateUserResponse createUserResponse = new CreateUserResponse();
      this.createUserRequest = CreateUserRequest.checkRequest(
          formItemList, createRequest, createUserResponse);
      this.jsonResponse = extractJson(createUserResponse);
    }
  }

  @Test
  public void testParameterMissing() {
    // missing: create request type
    this.fillRequest(null, VALID_USER_IDENTIFIER, VALID_DISPLAY_NAME,
        VALID_PROFILE_PICTURE_PATH);
    assertEquals(MISSING_PARAM_BEFORE + ProtocolConstants.Parameters.Create.TYPE
        + MISSING_PARAM_AFTER,
        this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE));

    // missing: user identifier
    this.fillRequest(VALID_TYPE, null, VALID_DISPLAY_NAME,
        VALID_PROFILE_PICTURE_PATH);
    assertEquals(MISSING_PARAM_BEFORE
        + ProtocolConstants.Parameters.Create.User.USER_IDENTIFIER
        + MISSING_PARAM_AFTER,
        this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE));

    // missing: display name
    this.fillRequest(VALID_TYPE, VALID_USER_IDENTIFIER, null,
        VALID_PROFILE_PICTURE_PATH);
    assertEquals(MISSING_PARAM_BEFORE
        + ProtocolConstants.Parameters.Create.User.DISPLAY_NAME
        + MISSING_PARAM_AFTER,
        this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE));

    // missing: profile picture path
    this.fillRequest(VALID_TYPE, VALID_USER_IDENTIFIER, VALID_DISPLAY_NAME,
        null);
    assertEquals(MISSING_PARAM_BEFORE
        + ProtocolConstants.Parameters.Create.User.PROFILE_PICTURE_PATH
        + MISSING_PARAM_AFTER,
        this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE));
  }

  @Test
  public void testTypeValid() {
    this.fillRequest(VALID_TYPE, VALID_USER_IDENTIFIER, VALID_DISPLAY_NAME,
        VALID_PROFILE_PICTURE_PATH);
    assertFalse(ProtocolConstants.StatusCodes.Create.TYPE_INVALID
        .equals(this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE)));
  }

  @Test
  public void testTypeInvalid() {
    this.fillRequest(INVALID_TYPE, VALID_USER_IDENTIFIER,
        VALID_DISPLAY_NAME, VALID_PROFILE_PICTURE_PATH);
    assertEquals(ProtocolConstants.StatusCodes.Create.TYPE_INVALID,
        this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE));
    assertNull(this.createUserRequest);
  }

  @Test
  public void testUserIdentifierValid() {
    this.fillRequest(VALID_TYPE, VALID_USER_IDENTIFIER, VALID_DISPLAY_NAME,
        VALID_PROFILE_PICTURE_PATH);
    assertFalse(ProtocolConstants.StatusCodes.Create.User.USER_EXISTING
        .equals(this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE)));
  }

  @Test
  public void testUserIdentifierInvalid() {
    this.fillRequest(VALID_TYPE, INVALID_USER_IDENTIFIER,
        VALID_DISPLAY_NAME, VALID_PROFILE_PICTURE_PATH);
    assertEquals(ProtocolConstants.StatusCodes.Create.User.USER_EXISTING,
        this.jsonResponse.get(ProtocolConstants.STATUS_MESSAGE));
    assertNull(this.createUserRequest);
  }

}
TOP

Related Classes of de.metalcon.server.tomcat.NSSP.create.CreateUserRequestTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.