summaryrefslogtreecommitdiffstats
blob: 519b9812dd21fd21b32196453b36ed3a4fe582d3 (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
/*
* Copyright (c) 2014 Kevin Smith and Remko Tronçon
* All rights reserved.
*/

/*
* Copyright (c) 2014, Isode Limited, London, England.
* All rights reserved.
*/

package com.isode.stroke.serializer.payloadserializers;

import org.junit.Test;
import com.isode.stroke.elements.Form;
import com.isode.stroke.elements.FormField;
import com.isode.stroke.elements.FormField.Type;
import com.isode.stroke.elements.MAMQuery;
import com.isode.stroke.elements.ResultSet;
import static org.junit.Assert.assertEquals;

public class MAMQuerySerializerTest {

    @Test
    public void testSerialize() {
        MAMQuerySerializer serializer = new MAMQuerySerializer();

        Form parameters = new Form();
        
        FormField fieldType = new FormField(Type.TEXT_SINGLE_TYPE, "urn:xmpp:mam:0");
        fieldType.setName("FORM_TYPE");
        parameters.addField(fieldType);

        FormField fieldStart = new FormField(Type.TEXT_SINGLE_TYPE, "2010-08-07T00:00:00Z");
        fieldStart.setName("start");
        parameters.addField(fieldStart);

        ResultSet set = new ResultSet();
        set.setMaxItems(new Long(10));

        MAMQuery query = new MAMQuery();
        query.setQueryID("id0");
        query.setForm(parameters);
        query.setResultSet(set);

        String expectedResult =
            "<query queryid=\"id0\" xmlns=\"urn:xmpp:mam:0\">"
          +     "<x type=\"form\" xmlns=\"jabber:x:data\">"
          +         "<field type=\"text-single\" var=\"FORM_TYPE\">"
          +            "<value>urn:xmpp:mam:0</value>"
          +         "</field>"
          +         "<field type=\"text-single\" var=\"start\">"
          +             "<value>2010-08-07T00:00:00Z</value>"
          +         "</field>"
          +     "</x>"
          +     "<set xmlns=\"http://jabber.org/protocol/rsm\">"
          +         "<max>10</max>"
          +     "</set>"
          + "</query>";

        assertEquals(expectedResult, serializer.serialize(query));
    }
}