summaryrefslogtreecommitdiffstats
blob: 1c86034bc7b38483ab336853a001534ec5df1996 (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
73
74
75
76
77
78
79
80
/*  Copyright (c) 2016, Isode Limited, London, England.
 *  All rights reserved.
 *
 *  Acquisition and use of this software and related materials for any
 *  purpose requires a written license agreement from Isode Limited,
 *  or a written license from an organisation licensed by Isode Limited
 *  to grant such a license.
 *
 */
package com.isode.stroke.serializer;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import com.isode.stroke.elements.ProtocolHeader;
import com.isode.stroke.elements.StreamType;
import com.isode.stroke.serializer.payloadserializers.FullPayloadSerializerCollection;

/**
 * 
 */
public class XMPPSerializerTest {

    private final PayloadSerializerCollection payloadSerializerCollection =
            new FullPayloadSerializerCollection();
    
    @Test
    public void testSerializeHeader_Client() {
        XMPPSerializer testling = createSerializer(StreamType.ClientStreamType);
        ProtocolHeader protocolHeader = new ProtocolHeader();
        protocolHeader.setFrom("bla@foo.com");
        protocolHeader.setTo("foo.com");
        protocolHeader.setID("myid");
        protocolHeader.setVersion("0.99");

        assertEquals("<?xml version=\"1.0\"?>"
                + "<stream:stream xmlns=\"jabber:client\" "
                    + "xmlns:stream=\"http://etherx.jabber.org/streams\" "
                    + "from=\"bla@foo.com\" to=\"foo.com\" id=\"myid\" version=\"0.99\">", 
                testling.serializeHeader(protocolHeader));
    }
    
    @Test
    public void testSerializeHeader_Component() {
        XMPPSerializer testling = createSerializer(StreamType.ComponentStreamType);
        ProtocolHeader protocolHeader = new ProtocolHeader();
        protocolHeader.setFrom("bla@foo.com");
        protocolHeader.setTo("foo.com");
        protocolHeader.setID("myid");
        protocolHeader.setVersion("0.99");
        
        assertEquals("<?xml version=\"1.0\"?>"
                + "<stream:stream xmlns=\"jabber:component:accept\" "
                    + "xmlns:stream=\"http://etherx.jabber.org/streams\" "
                    + "from=\"bla@foo.com\" to=\"foo.com\" id=\"myid\" version=\"0.99\">",
                testling.serializeHeader(protocolHeader));
    }
    
    @Test
    public void testSerializeHeader_Server() {
        XMPPSerializer testling = createSerializer(StreamType.ServerStreamType);
        ProtocolHeader protocolHeader = new ProtocolHeader();
        protocolHeader.setFrom("bla@foo.com");
        protocolHeader.setTo("foo.com");
        protocolHeader.setID("myid");
        protocolHeader.setVersion("0.99");
        
        assertEquals("<?xml version=\"1.0\"?>"
                + "<stream:stream xmlns=\"jabber:server\" "
                    + "xmlns:stream=\"http://etherx.jabber.org/streams\" "
                    + "from=\"bla@foo.com\" to=\"foo.com\" id=\"myid\" version=\"0.99\">", 
                testling.serializeHeader(protocolHeader));
    }
    
    private XMPPSerializer createSerializer(StreamType type) {
        return new XMPPSerializer(payloadSerializerCollection, type, false);
    }
    
}