KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > activemq > blob > DefaultBlobUploadStrategyTest


1 package org.apache.activemq.blob;
2
3 import java.io.File JavaDoc;
4 import java.io.InputStream JavaDoc;
5 import java.io.FileWriter JavaDoc;
6 import java.io.BufferedWriter JavaDoc;
7 import java.net.URL JavaDoc;
8
9 import junit.framework.TestCase;
10
11 import org.apache.activemq.ActiveMQConnectionFactory;
12 import org.apache.activemq.command.ActiveMQBlobMessage;
13 import org.apache.activemq.command.MessageId;
14
15 public class DefaultBlobUploadStrategyTest extends TestCase {
16
17     private static final String JavaDoc FILESERVER_URL = "http://localhost:8080/";
18     private static final String JavaDoc URI = "vm://localhost?jms.blobTransferPolicy.defaultUploadUrl=http://localhost:8080/";
19
20     public static void main(String JavaDoc[] args) {
21         junit.textui.TestRunner.run(DefaultBlobUploadStrategyTest.class);
22     }
23
24     public void testDummy() throws Exception JavaDoc {
25
26     }
27
28     public void DISABLED_UNTIL_WE_EMBED_JETTY_testUploadViaDefaultBlobUploadStrategy() throws Exception JavaDoc {
29         // 0. Initialise
30
File JavaDoc file = File.createTempFile("amq-data-file-", ".dat");
31         // lets write some data
32
BufferedWriter JavaDoc writer = new BufferedWriter JavaDoc(new FileWriter JavaDoc(file));
33         writer.append("Hello World!");
34         writer.close();
35
36         ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(URI);
37         BlobTransferPolicy policy = factory.getBlobTransferPolicy();
38                 
39         ActiveMQBlobMessage msg = new ActiveMQBlobMessage();
40         msg.setMessageId(new MessageId());
41
42         // 1. Upload
43
DefaultBlobUploadStrategy strategy = new DefaultBlobUploadStrategy(policy);
44         strategy.uploadFile(msg, file);
45
46         // 2. Download
47
msg.setURL(new URL JavaDoc(FILESERVER_URL + msg.getMessageId()));
48         
49         InputStream JavaDoc in = msg.getInputStream();
50         long bytesRead = 0;
51         byte[] buffer = new byte[1024*1024];
52         
53         while (true) {
54             int c = in.read(buffer);
55             if (c == -1) {
56                 break;
57             }
58             bytesRead += c;
59         }
60         in.close();
61         TestCase.assertTrue(bytesRead == file.length());
62         
63         // 3. Delete
64
strategy.deleteFile(msg);
65     }
66     
67 }
68
Popular Tags