1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.server.dns.io.decoder;
22
23
24 import java.util.Map;
25
26 import junit.framework.TestCase;
27
28 import org.apache.directory.server.dns.store.DnsAttribute;
29 import org.apache.mina.common.ByteBuffer;
30
31
32
33
34
35
36
37
38 public class MailExchangeRecordDecoderTest extends TestCase
39 {
40 ByteBuffer inputBuffer;
41
42 short preference = 10;
43 String domainName = "herse.apache.org";
44 String[] domainNameParts = new String[]
45 { "herse", "apache", "org" };
46
47 MailExchangeRecordDecoder decoder;
48
49
50 public void setUp()
51 {
52 inputBuffer = ByteBuffer.allocate( 128 );
53 inputBuffer.putShort( preference );
54 inputBuffer.put( ( byte ) domainNameParts[0].length() );
55 inputBuffer.put( domainNameParts[0].getBytes() );
56 inputBuffer.put( ( byte ) domainNameParts[1].length() );
57 inputBuffer.put( domainNameParts[1].getBytes() );
58 inputBuffer.put( ( byte ) domainNameParts[2].length() );
59 inputBuffer.put( domainNameParts[2].getBytes() );
60 inputBuffer.put( ( byte ) 0x00 );
61 inputBuffer.flip();
62
63 decoder = new MailExchangeRecordDecoder();
64 }
65
66
67 public void testDecode() throws Exception
68 {
69 Map attributes = decoder.decode( inputBuffer, ( short ) inputBuffer.remaining() );
70 assertEquals( preference, attributes.get( DnsAttribute.MX_PREFERENCE ) );
71 assertEquals( domainName, attributes.get( DnsAttribute.DOMAIN_NAME ) );
72 }
73 }