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();
}
}