test/javax/management/remote/rest/JsonParserTest.java
author hb
Tue, 29 Aug 2017 13:34:15 +0530
branchjmx-rest-api
changeset 55985 0c5a02edfdef
permissions -rw-r--r--
REST Adapter Initial commit 1. Unit tested and working GET/POST interfaces 2. Unit tested and working JSON parser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
55985
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     1
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     2
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     3
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     4
import javax.management.remote.rest.json.JSONElement;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     5
import javax.management.remote.rest.json.parser.JSONParser;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     6
import javax.management.remote.rest.json.parser.ParseException;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     7
import org.testng.Assert;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     8
import org.testng.annotations.AfterClass;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
     9
import org.testng.annotations.AfterMethod;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    10
import org.testng.annotations.BeforeClass;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    11
import org.testng.annotations.BeforeMethod;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    12
import org.testng.annotations.DataProvider;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    13
import org.testng.annotations.Test;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    14
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    15
/**
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    16
 *
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    17
 * @author harsha
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    18
 */
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    19
public class JsonParserTest {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    20
    
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    21
    public JsonParserTest() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    22
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    23
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    24
    // TODO add test methods here.
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    25
    // The methods must be annotated with annotation @Test. For example:
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    26
    //
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    27
    // @Test
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    28
    // public void hello() {}
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    29
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    30
    @BeforeClass
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    31
    public static void setUpClass() throws Exception {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    32
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    33
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    34
    @AfterClass
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    35
    public static void tearDownClass() throws Exception {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    36
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    37
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    38
    @BeforeMethod
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    39
    public void setUpMethod() throws Exception {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    40
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    41
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    42
    @AfterMethod
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    43
    public void tearDownMethod() throws Exception {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    44
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    45
    
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    46
    @DataProvider
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    47
    public Object[][] getJsonString() {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    48
        Object[][] data = new Object[2][1];
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    49
        data[0][0] = "{organisms:[\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    50
"        {\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    51
"        id:10929,\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    52
"        name:\"Bovine Rotavirus\"\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    53
"        },\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    54
"        {\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    55
"        id:9606,\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    56
"        name:\"Homo Sapiens\"\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    57
"        }\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    58
"        ],\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    59
"proteins:[\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    60
"        {\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    61
"        label:\"NSP3\",\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    62
"        description:\"Rotavirus Non Structural Protein 3\",\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    63
"        organism-id: 10929,\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    64
"        acc: \"ACB38353\"\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    65
"        },\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    66
"        {\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    67
"        label:\"EIF4G\",\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    68
"        description:\"eukaryotic translation initiation factor 4 gamma\",\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    69
"        organism-id: 9606,\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    70
"        boolflag: true,\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    71
"        longFloat: 12351123.1235123e-10,\n" +                
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    72
"        singleQuote: \'asd\',\n" +                                
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    73
"        acc:\"AAI40897\"\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    74
"        }\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    75
"        ],\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    76
"interactions:[\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    77
"        {\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    78
"        label:\"NSP3 interacts with EIF4G1\",\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    79
"        pubmed-id:[77120248,38201627],\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    80
"        proteins:[\"ACB38353\",\"AAI40897\"]\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    81
"        }\n" +
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    82
"        ]}";
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    83
        
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    84
        data[1][0] = "{\"name\":\"com.example:type=QueueSampler\",\"exec\":\"testMethod1\",\"params\":[[1,2,3],\"abc\",5,[\"asd\",\"3\",\"67\",\"778\"],[{date:\"2016-3-2\",size:3,head:\"head\"}],[{date:\"2016-3-2\",size:3,head:\"head\"}]]}";
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    85
        return data;
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    86
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    87
    
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    88
    @Test (dataProvider = "getJsonString")
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    89
    public void parserTest(String input) throws ParseException {
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    90
        JSONParser jsonParser = new JSONParser(input);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    91
        JSONElement parse = jsonParser.parse();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    92
        String output = parse.toJsonString();
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    93
        System.out.println("\t: " + input);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    94
        System.out.println("\t: " + output);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    95
//        Assert.assertEquals(input, output);
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    96
    }
0c5a02edfdef REST Adapter Initial commit
hb
parents:
diff changeset
    97
}