Skip to content

Commit f30cfb9

Browse files
author
gitlab
committed
Merge branch 'bug10425@@2' into 'master'
Disable html escaping in rest server Closes ZSTAC-10425 See merge request zstackio/zstack!2397
2 parents adc816b + e0a38b8 commit f30cfb9

2 files changed

Lines changed: 71 additions & 1 deletion

File tree

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
package org.zstack.test.integration.core
2+
3+
import org.zstack.core.Platform
4+
import org.zstack.core.cloudbus.CloudBus
5+
import org.zstack.core.rest.RESTApiDecoder
6+
import org.zstack.header.zone.APICreateZoneEvent
7+
import org.zstack.header.zone.APICreateZoneMsg
8+
import org.zstack.header.zone.ZoneInventory
9+
import org.zstack.header.zone.ZoneState
10+
import org.zstack.testlib.EnvSpec
11+
import org.zstack.testlib.SubCase
12+
import org.zstack.utils.gson.GsonUtil
13+
import org.zstack.utils.gson.JSONObjectUtil
14+
15+
/**
16+
* Created by kayo on 2018/3/22.
17+
*/
18+
class APIParamEncodeCase extends SubCase {
19+
EnvSpec env
20+
21+
@Override
22+
void clean() {
23+
env.delete()
24+
}
25+
26+
@Override
27+
void setup() {
28+
spring{
29+
include("ZoneManager.xml")
30+
include("CloudBusAopProxy.xml")
31+
}
32+
}
33+
34+
@Override
35+
void environment() {
36+
env = makeEnv{}
37+
}
38+
39+
@Override
40+
void test() {
41+
env.create {
42+
def testZoneName = "="
43+
44+
env.message(APICreateZoneMsg.class) { APICreateZoneMsg msg, CloudBus bus ->
45+
assert msg.getName() == testZoneName
46+
47+
def inv = new ZoneInventory()
48+
inv.setUuid(Platform.getUuid())
49+
inv.setName(testZoneName)
50+
inv.setState(ZoneState.Enabled.toString())
51+
def evt = new APICreateZoneEvent(msg.getId())
52+
evt.setInventory(inv)
53+
54+
bus.publish(evt)
55+
}
56+
57+
createZone {
58+
name = testZoneName
59+
}
60+
61+
def encodedName = JSONObjectUtil.toJsonString(testZoneName)
62+
63+
testZoneName = "\"=\""
64+
65+
createZone {
66+
name = encodedName
67+
}
68+
}
69+
}
70+
}

utils/src/main/java/org/zstack/utils/gson/JSONObjectUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public class JSONObjectUtil {
1616
private static final Gson prettyGson;
1717

1818
static {
19-
gson = new GsonBuilder().create();
19+
gson = new GsonBuilder().disableHtmlEscaping().create();
2020
prettyGson = new GsonBuilder().setPrettyPrinting().create();
2121
}
2222

0 commit comments

Comments
 (0)