forked from tronprotocol/java-tron
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(http): optimize getAddress method (tronprotocol#5367)
- Loading branch information
1 parent
83151aa
commit f18864c
Showing
4 changed files
with
260 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
91 changes: 91 additions & 0 deletions
91
framework/src/test/java/org/tron/core/services/http/GetBrokerageServletTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
package org.tron.core.services.http; | ||
|
||
import com.alibaba.fastjson.JSONObject; | ||
|
||
import java.io.UnsupportedEncodingException; | ||
import javax.annotation.Resource; | ||
|
||
import org.junit.Assert; | ||
import org.junit.Test; | ||
import org.springframework.mock.web.MockHttpServletRequest; | ||
import org.springframework.mock.web.MockHttpServletResponse; | ||
import org.tron.common.BaseTest; | ||
import org.tron.core.Constant; | ||
import org.tron.core.config.args.Args; | ||
|
||
public class GetBrokerageServletTest extends BaseTest { | ||
|
||
@Resource | ||
private GetBrokerageServlet getBrokerageServlet; | ||
|
||
static { | ||
dbPath = "db_GetBrokerageServlet_test"; | ||
Args.setParam( | ||
new String[]{ | ||
"--output-directory", dbPath, | ||
}, Constant.TEST_CONF | ||
); | ||
} | ||
|
||
public MockHttpServletRequest createRequest(String contentType) { | ||
MockHttpServletRequest request = new MockHttpServletRequest(); | ||
request.setMethod("POST"); | ||
request.setContentType(contentType); | ||
request.setCharacterEncoding("UTF-8"); | ||
return request; | ||
} | ||
|
||
@Test | ||
public void getBrokerageValueByJsonTest() { | ||
int expect = 20; | ||
String jsonParam = "{\"address\": \"27VZHn9PFZwNh7o2EporxmLkpe157iWZVkh\"}"; | ||
MockHttpServletRequest request = createRequest("application/json"); | ||
request.setContent(jsonParam.getBytes()); | ||
MockHttpServletResponse response = new MockHttpServletResponse(); | ||
getBrokerageServlet.doPost(request, response); | ||
try { | ||
String contentAsString = response.getContentAsString(); | ||
JSONObject result = JSONObject.parseObject(contentAsString); | ||
int brokerage = (int)result.get("brokerage"); | ||
Assert.assertEquals(expect, brokerage); | ||
} catch (UnsupportedEncodingException e) { | ||
Assert.fail(e.getMessage()); | ||
} | ||
} | ||
|
||
@Test | ||
public void getBrokerageValueTest() { | ||
int expect = 20; | ||
MockHttpServletRequest request = createRequest("application/x-www-form-urlencoded"); | ||
request.addParameter("address", "27VZHn9PFZwNh7o2EporxmLkpe157iWZVkh"); | ||
MockHttpServletResponse response = new MockHttpServletResponse(); | ||
getBrokerageServlet.doPost(request, response); | ||
try { | ||
String contentAsString = response.getContentAsString(); | ||
JSONObject result = JSONObject.parseObject(contentAsString); | ||
int brokerage = (int)result.get("brokerage"); | ||
Assert.assertEquals(expect, brokerage); | ||
} catch (UnsupportedEncodingException e) { | ||
Assert.fail(e.getMessage()); | ||
} | ||
} | ||
|
||
@Test | ||
public void getByBlankParamTest() { | ||
int expect = 0; | ||
MockHttpServletRequest request = createRequest("application/x-www-form-urlencoded"); | ||
request.addParameter("address", ""); | ||
MockHttpServletResponse response = new MockHttpServletResponse(); | ||
getBrokerageServlet.doPost(request, response); | ||
try { | ||
String contentAsString = response.getContentAsString(); | ||
JSONObject result = JSONObject.parseObject(contentAsString); | ||
int brokerage = (int)result.get("brokerage"); | ||
Assert.assertEquals(expect, brokerage); | ||
String content = (String) result.get("Error"); | ||
Assert.assertNull(content); | ||
} catch (UnsupportedEncodingException e) { | ||
Assert.fail(e.getMessage()); | ||
} | ||
} | ||
} |
120 changes: 120 additions & 0 deletions
120
framework/src/test/java/org/tron/core/services/http/GetRewardServletTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,120 @@ | ||
package org.tron.core.services.http; | ||
|
||
import static org.tron.common.utils.Commons.decodeFromBase58Check; | ||
|
||
import com.alibaba.fastjson.JSONObject; | ||
|
||
import java.io.File; | ||
import java.io.UnsupportedEncodingException; | ||
import javax.annotation.Resource; | ||
|
||
import org.apache.commons.lang3.StringUtils; | ||
import org.junit.After; | ||
import org.junit.Assert; | ||
import org.junit.Test; | ||
import org.springframework.mock.web.MockHttpServletRequest; | ||
import org.springframework.mock.web.MockHttpServletResponse; | ||
import org.tron.common.BaseTest; | ||
import org.tron.common.utils.FileUtil; | ||
import org.tron.core.Constant; | ||
import org.tron.core.config.args.Args; | ||
import org.tron.core.db.Manager; | ||
import org.tron.core.service.MortgageService; | ||
import org.tron.core.store.DelegationStore; | ||
|
||
public class GetRewardServletTest extends BaseTest { | ||
|
||
@Resource | ||
private Manager manager; | ||
|
||
@Resource | ||
private MortgageService mortgageService; | ||
|
||
@Resource | ||
private DelegationStore delegationStore; | ||
|
||
@Resource | ||
GetRewardServlet getRewardServlet; | ||
|
||
static { | ||
dbPath = "db_GetRewardServlet_test"; | ||
Args.setParam( | ||
new String[]{ | ||
"--output-directory", dbPath, | ||
}, Constant.TEST_CONF | ||
); | ||
} | ||
|
||
public MockHttpServletRequest createRequest(String contentType) { | ||
MockHttpServletRequest request = new MockHttpServletRequest(); | ||
request.setMethod("POST"); | ||
request.setContentType(contentType); | ||
request.setCharacterEncoding("UTF-8"); | ||
return request; | ||
} | ||
|
||
public void init() { | ||
manager.getDynamicPropertiesStore().saveChangeDelegation(1); | ||
byte[] sr = decodeFromBase58Check("27VZHn9PFZwNh7o2EporxmLkpe157iWZVkh"); | ||
delegationStore.setBrokerage(0, sr, 10); | ||
delegationStore.setWitnessVote(0, sr, 100000000); | ||
} | ||
|
||
@Test | ||
public void getRewardValueByJsonTest() { | ||
init(); | ||
int expect = 138181; | ||
String jsonParam = "{\"address\": \"27VZHn9PFZwNh7o2EporxmLkpe157iWZVkh\"}"; | ||
MockHttpServletRequest request = createRequest("application/json"); | ||
MockHttpServletResponse response = new MockHttpServletResponse(); | ||
request.setContent(jsonParam.getBytes()); | ||
try { | ||
getRewardServlet.doPost(request, response); | ||
String contentAsString = response.getContentAsString(); | ||
JSONObject result = JSONObject.parseObject(contentAsString); | ||
int reward = (int)result.get("reward"); | ||
Assert.assertEquals(expect, reward); | ||
} catch (UnsupportedEncodingException e) { | ||
Assert.fail(e.getMessage()); | ||
} | ||
} | ||
|
||
@Test | ||
public void getRewardValueTest() { | ||
init(); | ||
int expect = 138181; | ||
MockHttpServletRequest request = createRequest("application/x-www-form-urlencoded"); | ||
MockHttpServletResponse response = new MockHttpServletResponse(); | ||
mortgageService.payStandbyWitness(); | ||
request.addParameter("address", "27VZHn9PFZwNh7o2EporxmLkpe157iWZVkh"); | ||
getRewardServlet.doPost(request, response); | ||
try { | ||
String contentAsString = response.getContentAsString(); | ||
JSONObject result = JSONObject.parseObject(contentAsString); | ||
int reward = (int)result.get("reward"); | ||
Assert.assertEquals(expect, reward); | ||
} catch (UnsupportedEncodingException e) { | ||
Assert.fail(e.getMessage()); | ||
} | ||
} | ||
|
||
@Test | ||
public void getByBlankParamTest() { | ||
MockHttpServletRequest request = createRequest("application/x-www-form-urlencoded"); | ||
MockHttpServletResponse response = new MockHttpServletResponse(); | ||
request.addParameter("address", ""); | ||
GetRewardServlet getRewardServlet = new GetRewardServlet(); | ||
getRewardServlet.doPost(request, response); | ||
try { | ||
String contentAsString = response.getContentAsString(); | ||
JSONObject result = JSONObject.parseObject(contentAsString); | ||
int reward = (int)result.get("reward"); | ||
Assert.assertEquals(0, reward); | ||
String content = (String) result.get("Error"); | ||
Assert.assertNull(content); | ||
} catch (UnsupportedEncodingException e) { | ||
Assert.fail(e.getMessage()); | ||
} | ||
} | ||
|
||
} |