summaryrefslogtreecommitdiffstats
blob: 720aa65f0638cf99b798c493b3731016380c5711 (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
/*
 * 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.serializer.payloadserializers.JingleFileTransferDescriptionSerializer;
import com.isode.stroke.elements.JingleFileTransferDescription;
import com.isode.stroke.elements.JingleFileTransferFileInfo;
import com.isode.stroke.elements.HashElement;
import com.isode.stroke.base.DateTime;
import com.isode.stroke.base.ByteArray;
import java.util.Date;
import java.util.TimeZone;

public class JingleFileTransferDescriptionSerializerTest {

	/**
	* Default Constructor.
	*/
	public JingleFileTransferDescriptionSerializerTest() {
		TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
	}

	@Test
	public void testSerialize_FileInfo_withAllVariables() {
		JingleFileTransferDescriptionSerializer testling = new JingleFileTransferDescriptionSerializer();
		JingleFileTransferDescription description = new JingleFileTransferDescription();

		JingleFileTransferFileInfo fileInfo = new JingleFileTransferFileInfo();
		fileInfo.setName("Isaac");
		fileInfo.setDescription("It is good.");
		fileInfo.setMediaType("MediaAAC");
		fileInfo.setSize(513L);
		fileInfo.setDate(new Date(1434056150620L));
		fileInfo.setSupportsRangeRequests(true);
		fileInfo.setRangeOffset(566L);
		fileInfo.addHash(new HashElement("MD5", new ByteArray()));

		description.setFileInfo(fileInfo);
		String expectedResult = "<description xmlns=\"urn:xmpp:jingle:apps:file-transfer:4\"><file><date>2015-06-11T20:55:50Z</date>" +
								"<desc>It is good.</desc><media-type>MediaAAC</media-type><name>Isaac</name><range offset=\"566\"/>" +
								"<size>513</size><hash algo=\"MD5\" xmlns=\"urn:xmpp:hashes:1\"/></file></description>";
		assertEquals(expectedResult, testling.serialize(description));
	}

	@Test
	public void testSerialize_FileInfo_withSomeVariables() {
		JingleFileTransferDescriptionSerializer testling = new JingleFileTransferDescriptionSerializer();
		JingleFileTransferDescription description = new JingleFileTransferDescription();

		JingleFileTransferFileInfo fileInfo = new JingleFileTransferFileInfo();
		fileInfo.setName("Isaac");
		fileInfo.setDescription("It is good.");
		fileInfo.setMediaType("MediaAAC");
		fileInfo.addHash(new HashElement("MD5", new ByteArray()));
		description.setFileInfo(fileInfo);
		String expectedResult = "<description xmlns=\"urn:xmpp:jingle:apps:file-transfer:4\"><file><desc>It is good.</desc><media-type>MediaAAC</media-type>" +
								"<name>Isaac</name><hash algo=\"MD5\" xmlns=\"urn:xmpp:hashes:1\"/></file></description>";
		assertEquals(expectedResult, testling.serialize(description));
	}	
}