summaryrefslogtreecommitdiffstats
blob: 8f57b7733781933269a9c86463e0e6891b5178cb (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/*
 * Copyright (c) 2015 Isode Limited.
 * All rights reserved.
 * See the COPYING file for more information.
 */
/*
 * Copyright (c) 2015 Tarun Gupta.
 * Licensed under the simplified BSD license.
 * See Documentation/Licenses/BSD-simplified.txt for more information.
 */

package com.isode.stroke.serializer.payloadserializers;

import static org.junit.Assert.assertEquals;
import org.junit.Test;
import com.isode.stroke.elements.Message;
import com.isode.stroke.elements.Thread;
import com.isode.stroke.elements.Forwarded;
import com.isode.stroke.elements.CarbonsEnable;
import com.isode.stroke.elements.CarbonsDisable;
import com.isode.stroke.elements.CarbonsReceived;
import com.isode.stroke.elements.CarbonsSent;
import com.isode.stroke.elements.CarbonsPrivate;
import com.isode.stroke.serializer.payloadserializers.FullPayloadSerializerCollection;
import com.isode.stroke.serializer.payloadserializers.CarbonsEnableSerializer;
import com.isode.stroke.serializer.payloadserializers.CarbonsDisableSerializer;
import com.isode.stroke.serializer.payloadserializers.CarbonsReceivedSerializer;
import com.isode.stroke.serializer.payloadserializers.CarbonsSentSerializer;
import com.isode.stroke.serializer.payloadserializers.CarbonsPrivateSerializer;
import com.isode.stroke.jid.JID;

public class CarbonsSerializerTest {

	private FullPayloadSerializerCollection serializers = new FullPayloadSerializerCollection();

	/**
	* Default Constructor.
	*/
	public CarbonsSerializerTest() {

	}

	/*
	 * Test serializing of example 3 in XEP-0280.
	 */
	@Test
	public void testSerializeExample3() {
		CarbonsEnableSerializer testling = new CarbonsEnableSerializer();

		assertEquals("<enable xmlns=\"urn:xmpp:carbons:2\"/>", testling.serialize(new CarbonsEnable()));
	}

	/*
	 * Test serializing of example 6 in XEP-0280.
	 */
	@Test
	public void testSerializeExample6() {
		CarbonsDisableSerializer testling = new CarbonsDisableSerializer();

		assertEquals("<disable xmlns=\"urn:xmpp:carbons:2\"/>", testling.serialize(new CarbonsDisable()));
	}

	/*
	 * Test serializing of example 12 in XEP-0280.
	 */
	@Test
	public void testSerializeExample12() {
		CarbonsReceivedSerializer testling = new CarbonsReceivedSerializer(serializers);

		CarbonsReceived received = new CarbonsReceived();

		Forwarded forwarded = new Forwarded();

		Message message = new Message();
		message.setFrom(new JID("juliet@capulet.example/balcony"));
		message.setTo(new JID("romeo@montague.example/garden"));
		message.setBody("What man art thou that, thus bescreen'd in night, so stumblest on my counsel?");
		message.addPayload(new Thread("0e3141cd80894871a68e6fe6b1ec56fa"));

		forwarded.setStanza(message);
		received.setForwarded(forwarded);

		assertEquals(
			"<received xmlns=\"urn:xmpp:carbons:2\">" +
				"<forwarded xmlns=\"urn:xmpp:forward:0\">" +
					"<message from=\"juliet@capulet.example/balcony\"" +
						" to=\"romeo@montague.example/garden\"" +
						" type=\"chat\">" +
						"<body>What man art thou that, thus bescreen'd in night, so stumblest on my counsel?</body>" +
						"<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>" +
					"</message>" +
				"</forwarded>" +
			"</received>", testling.serialize(received));
	}

	/*
	 * Test serializing of example 14 in XEP-0280.
	 */
	@Test
	public void testSerializeExample14() {
		CarbonsSentSerializer testling = new CarbonsSentSerializer(serializers);

		CarbonsSent sent = new CarbonsSent();

		Forwarded forwarded = new Forwarded();

		Message message = new Message();
		message.setTo(new JID("juliet@capulet.example/balcony"));
		message.setFrom(new JID("romeo@montague.example/home"));
		message.setBody("Neither, fair saint, if either thee dislike.");
		message.addPayload(new Thread("0e3141cd80894871a68e6fe6b1ec56fa"));

		forwarded.setStanza(message);
		sent.setForwarded(forwarded);

		assertEquals(
			"<sent xmlns=\"urn:xmpp:carbons:2\">" +
				"<forwarded xmlns=\"urn:xmpp:forward:0\">" +
					"<message from=\"romeo@montague.example/home\"" +
						" to=\"juliet@capulet.example/balcony\"" +
						" type=\"chat\">" +
						"<body>Neither, fair saint, if either thee dislike.</body>" +
						"<thread>0e3141cd80894871a68e6fe6b1ec56fa</thread>" +
					"</message>" +
				"</forwarded>" +
			"</sent>", testling.serialize(sent));
	}

	/*
	 * Test serializing of example 15 in XEP-0280.
	 */
	@Test
	public void testSerializeExample15() {
		CarbonsPrivateSerializer testling = new CarbonsPrivateSerializer();

		assertEquals("<private xmlns=\"urn:xmpp:carbons:2\"/>", testling.serialize(new CarbonsPrivate()));
	}
}