Package com.wesabe.grendel.representations.tests

Source Code of com.wesabe.grendel.representations.tests.UpdateUserRepresentationTest$Deserializing_From_Json

package com.wesabe.grendel.representations.tests;

import static org.fest.assertions.Assertions.*;
import static org.junit.Assert.*;

import org.codehaus.jackson.map.ObjectMapper;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.runners.Enclosed;
import org.junit.runner.RunWith;

import com.wesabe.grendel.representations.UpdateUserRepresentation;
import com.wesabe.grendel.representations.ValidationException;

@RunWith(Enclosed.class)
public class UpdateUserRepresentationTest {
  public static class A_Valid_New_User_Request {
    private UpdateUserRepresentation req;
   
    @Before
    public void setup() throws Exception {
      this.req = new UpdateUserRepresentation();
     
      req.setPassword("happenstance".toCharArray());
    }
   
    @Test
    public void itIsValid() throws Exception {
      try {
        req.validate();
        assertThat(true).isTrue();
      } catch (ValidationException e) {
        fail("didn't expect a ValidationException but one was thrown");
      }
    }
   
    @Test
    public void itHasAPassword() throws Exception {
      assertThat(req.getPassword()).isEqualTo("happenstance".toCharArray());
    }
   
    @Test
    public void itCanBeSanitized() throws Exception {
      assertThat(req.getPassword()).isEqualTo("happenstance".toCharArray());
      req.sanitize();
      assertThat(req.getPassword()).isEqualTo("\0\0\0\0\0\0\0\0\0\0\0\0".toCharArray());
    }
  }
 
  public static class An_Invalid_New_User_Request {
    private UpdateUserRepresentation req;
   
    @Before
    public void setup() throws Exception {
      this.req = new UpdateUserRepresentation();
    }
   
    @Test
    public void itThrowsAnExceptionOnValidation() throws Exception {
      try {
        req.validate();
        fail("should have thrown a ValidationException but didn't");
      } catch (ValidationException e) {
        final String msg = (String) e.getResponse().getEntity();
       
        assertThat(msg).isEqualTo(
          "Grendel was unable to process your request for the following reason(s):" +
          "\n" +
          "\n" +
          "* missing required property: password\n"
        );
      }
    }
  }
 
  public static class Deserializing_From_Json {
    @Test
    public void itDeserializesJSON() throws Exception {
      final String json = "{\"password\":\"hoohah\"}";
     
      final ObjectMapper mapper = new ObjectMapper();
      final UpdateUserRepresentation rep = mapper.readValue(json, UpdateUserRepresentation.class);
     
      assertThat(rep.getPassword()).isEqualTo("hoohah".toCharArray());
    }
  }
}
TOP

Related Classes of com.wesabe.grendel.representations.tests.UpdateUserRepresentationTest$Deserializing_From_Json

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.