summaryrefslogtreecommitdiffstats
path: root/simple/simple-http/src/test/java/org/simpleframework/http/core/MessageTest.java
blob: b972f039d974e94f87902bf0cd42bf17d7811276 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package org.simpleframework.http.core;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;

import org.simpleframework.http.message.MessageHeader;

import junit.framework.TestCase;

public class MessageTest extends TestCase {
   
   public void testMessage() {
      MessageHeader message = new MessageHeader();
      
      message.addValue("Content-Length", "10");
      message.addValue("Connection", "keep-alive");
      message.addValue("Accept", "image/gif, image/jpeg, */*");
      message.addValue("Set-Cookie", "a=b");
      message.addValue("Set-Cookie", "b=c");
      
      assertEquals(message.getValue("CONTENT-LENGTH"), "10");      
      assertEquals(message.getValue("Content-Length"), "10");
      assertEquals(message.getValue("CONTENT-length"), "10");
      assertEquals(message.getValue("connection"), "keep-alive");
      assertEquals(message.getValue("CONNECTION"), "keep-alive");
      
      assertTrue(message.getValues("CONNECTION") != null);
      assertEquals(message.getValues("connection").size(), 1);
      
      assertTrue(message.getValues("set-cookie") != null);
      assertEquals(message.getValues("set-cookie").size(), 2);
      assertTrue(message.getValues("SET-COOKIE").contains("a=b"));
      assertTrue(message.getValues("SET-COOKIE").contains("b=c"));

      assertTrue(message.getNames().contains("Content-Length"));
      assertFalse(message.getNames().contains("CONTENT-LENGTH"));
      assertTrue(message.getNames().contains("Connection"));
      assertFalse(message.getNames().contains("CONNECTION"));
      assertTrue(message.getNames().contains("Set-Cookie"));
      assertFalse(message.getNames().contains("SET-COOKIE"));   
      
      message.setValue("Set-Cookie", "d=e");
      
      assertTrue(message.getValues("set-cookie") != null);
      assertEquals(message.getValues("set-cookie").size(), 1);
      assertFalse(message.getValues("SET-COOKIE").contains("a=b"));
      assertFalse(message.getValues("SET-COOKIE").contains("b=c"));
      assertTrue(message.getValues("SET-COOKIE").contains("d=e"));  
   }
   
   public void testDates() {
      MessageHeader message = new MessageHeader();
      DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
      TimeZone zone = TimeZone.getTimeZone("GMT");
      long time = System.currentTimeMillis();
      Date date = new Date(time);
      
      format.setTimeZone(zone);
      message.setValue("Date", format.format(date));
    
      assertEquals(format.format(date), message.getValue("date"));
      assertEquals(new Date(message.getDate("DATE")).toString(), date.toString());
      
      message.setDate("Date", time);
      
      assertEquals(format.format(date), message.getValue("date"));
      assertEquals(new Date(message.getDate("DATE")).toString(), date.toString());      
   }

}