Package br.com.caelum.restbucks

Source Code of br.com.caelum.restbucks.MappingConfigTest

package br.com.caelum.restbucks;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.io.StringWriter;
import java.util.ArrayList;

import org.junit.Test;

import br.com.caelum.restbucks.model.Item;
import br.com.caelum.restbucks.model.Order;
import br.com.caelum.restbucks.model.Order.Location;
import br.com.caelum.restfulie.Resources;

public class MappingConfigTest {
 
  @Test
  public void shouldBeAbleToUnderstandFields() {

    String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+
  "<order>"+
  "  <created-at>2010-02-09T15:15:46Z</created-at>"+
  "  <id>360</id>"+
  "  <location>takeAway</location>"+
  "  <status>unpaid</status>"+
  "  <updated-at>2010-02-09T15:15:46Z</updated-at>"+
  "  <cost>20</cost>"+
  "  <items>"+
  "    <item>"+
  "      <created-at>2010-02-09T15:15:46Z</created-at>"+
  "      <drink>latte</drink>"+
  "      <id>784</id>"+
  "      <milk>semi</milk>"+
  "      <size>large</size>"+
  "      <updated-at>2010-02-09T15:15:46Z</updated-at>"+
  "      <atom:link href=\"http://localhost:3000/orders/360\" xmlns:atom=\"http://www.w3.org/2005/Atom\" rel=\"self\"/>"+
  "    </item>"+
  "    <item>"+
  "      <created-at>2010-02-09T15:15:46Z</created-at>"+
  "      <drink>latte</drink>"+
  "      <id>785</id>"+
  "      <milk>whole</milk>"+
  "      <size>medium</size>"+
  "      <updated-at>2010-02-09T15:15:46Z</updated-at>"+
  "      <atom:link href=\"http://localhost:3000/orders/360\" xmlns:atom=\"http://www.w3.org/2005/Atom\" rel=\"self\"/>"+
  "    </item>"+
  "  </items>"+
  "  <atom:link href=\"http://localhost:3000/orders/360\" xmlns:atom=\"http://www.w3.org/2005/Atom\" rel=\"self\"/>"+
  "  <atom:link href=\"http://localhost:3000/orders/360\" xmlns:atom=\"http://www.w3.org/2005/Atom\" rel=\"cancel\"/>"+
  "  <atom:link href=\"http://localhost:3000/orders/360/payment\" xmlns:atom=\"http://www.w3.org/2005/Atom\" rel=\"pay\"/>"+
  "  <atom:link href=\"http://localhost:3000/orders/360\" xmlns:atom=\"http://www.w3.org/2005/Atom\" rel=\"update\"/>"+
  "</order>";
   
      Resources resources = new MappingConfig().getServer();
      Order order = (Order) resources.getDeserializer().fromXml(content);
      assertTrue(order!=null); // dumb test for config
  }

  @Test
  public void shouldSerializeSimpleOrder() {

    String expected = "<?xml version='1.0' encoding='utf-8'?>"+
  "<order>"+
  "<location>takeAway</location>"+
  "<items></items>"+
  "<status>unpaid</status>"+
  "</order>";
   
      Resources resources = new MappingConfig().getServer();
      Order order = new Order("unpaid", new ArrayList<Item>(), Location.takeAway);
      StringWriter w  = new StringWriter();
      resources.getSerializerFor(w, order).serialize();
      assertEquals(expected, w.getBuffer().toString());
  }

}
TOP

Related Classes of br.com.caelum.restbucks.MappingConfigTest

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.