Package org.jboss.seam.example.pdf.test

Source Code of org.jboss.seam.example.pdf.test.DocumentTests

package org.jboss.seam.example.pdf.test;

import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.core.Conversation;
import org.jboss.seam.document.ByteArrayDocumentData;
import org.jboss.seam.document.DocumentData;
import org.jboss.seam.document.DocumentStore;
import org.jboss.seam.mock.SeamTest;
import org.jboss.seam.pdf.ui.UIDocument;
import org.testng.annotations.Test;

/**
* This is just a placeholder until I can find a way to actually test the UI
* components.
*/
public class DocumentTests extends SeamTest
{
   @Test
   public void documentStore() throws Exception
   {
      String conversationId = new FacesRequest("/whyseam.xhtml")
      {

         @Override
         protected void invokeApplication() throws Exception
         {
            Conversation.instance().begin();

            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
            String docId = store.newId();

            Contexts.getSessionContext().set("docId", docId);

            DocumentData documentData = new ByteArrayDocumentData("base", UIDocument.PDF, new byte[100]);
            store.saveData(docId, documentData);
         }

         @Override
         protected void renderResponse() throws Exception
         {
            String docId = (String) getValue("#{docId}");
            assert docId != null;

            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
            assert store.idIsValid(docId);

         }
      }.run();

      // different conversation
      new FacesRequest("/whyseam.xhtml")
      {
         @Override
         protected void renderResponse() throws Exception
         {
            String docId = (String) getValue("#{docId}");
            assert docId != null;

            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
            assert !store.idIsValid(docId);
         }
      }.run();

      new FacesRequest("/whyseam.xhtml", conversationId)
      {
         @Override
         protected void renderResponse() throws Exception
         {
            String docId = (String) getValue("#{docId}");
            assert docId != null;

            DocumentStore store = (DocumentStore) getValue("#{org.jboss.seam.document.documentStore}");
            assert store.idIsValid(docId);

            ByteArrayDocumentData data = (ByteArrayDocumentData)store.getDocumentData(docId);
            assert data.getDocumentType().equals(UIDocument.PDF);
            assert data.getData().length == 100;
         }
      }.run();
   }

}
TOP

Related Classes of org.jboss.seam.example.pdf.test.DocumentTests

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.