Skip to content

Commit a830bb6

Browse files
authored
Merge pull request #423 from YangSen-qn/develop
change log bad_request logic
2 parents 2743703 + dd8f729 commit a830bb6

File tree

3 files changed

+82
-14
lines changed

3 files changed

+82
-14
lines changed

library/src/androidTest/java/com/qiniu/android/RetryTest.java

Lines changed: 75 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void testUpload() {
3737
public void run() {
3838

3939
try {
40-
template((i_p + 1), new CompleteHandler() {
40+
template((i_p + 1), true, new CompleteHandler() {
4141
@Override
4242
public void complete(boolean isSuccess) {
4343

@@ -77,20 +77,85 @@ public boolean shouldWait() {
7777
assertTrue((param.completeCount == param.successCount));
7878
}
7979

80-
private void template(int size, final CompleteHandler completeHandler) throws Throwable{
80+
public void testUploadError(){
81+
final TestParam param = new TestParam();
82+
param.count = 10;
83+
84+
for (int i = 0; i < param.count; i++) {
85+
86+
final int i_p = i;
87+
88+
new Thread(new Runnable() {
89+
@Override
90+
public void run() {
91+
92+
try {
93+
template((i_p + 1), false, new CompleteHandler() {
94+
@Override
95+
public void complete(boolean isSuccess) {
96+
97+
synchronized (this){
98+
if (isSuccess){
99+
param.successCount += 1;
100+
}
101+
param.completeCount += 1;
102+
}
103+
104+
}
105+
});
106+
} catch (Throwable ignored) {
107+
}
108+
109+
}
110+
}).start();
111+
112+
try {
113+
Thread.sleep(2000);
114+
} catch (InterruptedException e) {
115+
e.printStackTrace();
116+
}
117+
}
118+
119+
wait(new WaitConditional() {
120+
@Override
121+
public boolean shouldWait() {
122+
if (param.completeCount != param.count){
123+
return true;
124+
} else {
125+
return false;
126+
}
127+
}
128+
}, 600 * 10);
129+
130+
assertTrue((param.successCount == 0));
131+
}
132+
133+
private void template(int size, boolean hasValidHost, final CompleteHandler completeHandler) throws Throwable{
81134

82135
final WaitCondition waitCondition = new WaitCondition();
83136

84137
final String expectKey = "android-retry-" + size + "k";
85138
final File f = TempFile.createFile(size);
86-
String[] s = new String[]{"uptemp01.qbox.me", "uptemp02.qbox.me",
87-
"uptemp03.qbox.me", "uptemp04.qbox.me",
88-
"uptemp05.qbox.me", "uptemp06.qbox.me",
89-
"uptemp07.qbox.me", "uptemp08.qbox.me",
90-
"uptemp09.qbox.me", "uptemp10.qbox.me",
91-
"uptemp11.qbox.me", "uptemp12.qbox.me",
92-
"uptemp13.qbox.me", "uptemp14.qbox.me",
93-
"upload.qiniup.com"};
139+
String[] s = null;
140+
if (hasValidHost){
141+
s = new String[]{"uptemp01.qbox.me", "uptemp02.qbox.me",
142+
"uptemp03.qbox.me", "uptemp04.qbox.me",
143+
"uptemp05.qbox.me", "uptemp06.qbox.me",
144+
"uptemp07.qbox.me", "uptemp08.qbox.me",
145+
"uptemp09.qbox.me", "uptemp10.qbox.me",
146+
"uptemp11.qbox.me", "uptemp12.qbox.me",
147+
"uptemp13.qbox.me", "uptemp14.qbox.me",
148+
"upload.qiniup.com"};
149+
} else {
150+
s = new String[]{"uptemp01.qbox.me", "uptemp02.qbox.me",
151+
"uptemp03.qbox.me", "uptemp04.qbox.me",
152+
"uptemp05.qbox.me", "uptemp06.qbox.me",
153+
"uptemp07.qbox.me", "uptemp08.qbox.me",
154+
"uptemp09.qbox.me", "uptemp10.qbox.me",
155+
"uptemp11.qbox.me", "uptemp12.qbox.me",
156+
"uptemp13.qbox.me", "uptemp14.qbox.me"};
157+
}
158+
94159
Zone z = new FixedZone(s);
95160
Configuration c = new Configuration.Builder()
96161
.zone(z).useHttps(true).useConcurrentResumeUpload(false)

library/src/androidTest/java/com/qiniu/android/UploadReportItemTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,8 @@ public void testReportErrorType(){
8181
responseInfo = createResponseInfo(ResponseInfo.NetworkSlow);
8282
assertTrue(ReportItem.qualityResult(responseInfo).equals("network_slow"));
8383

84-
responseInfo = createResponseInfo(10000);
85-
assertTrue(ReportItem.qualityResult(responseInfo).equals("unknown_error"));
84+
responseInfo = createResponseInfo(614);
85+
assertTrue(ReportItem.qualityResult(responseInfo).equals("bad_request"));
8686
}
8787

8888

library/src/main/java/com/qiniu/android/collect/ReportItem.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ public static String requestReportErrorType(ResponseInfo responseInfo){
121121
String errorType = null;
122122
if (responseInfo.statusCode > 199 && responseInfo.statusCode < 300) {
123123

124-
} else if (responseInfo.statusCode > 299 && responseInfo.statusCode < 600){
124+
} else if (responseInfo.statusCode > 299){
125125
errorType = "response_error";
126126
} else if (responseInfo.statusCode == ResponseInfo.NetworkError){
127127
errorType = "network_error";
@@ -162,7 +162,10 @@ public static String qualityResult(ResponseInfo responseInfo){
162162

163163
if (responseInfo.statusCode > 199 && responseInfo.statusCode < 300) {
164164
result = "ok";
165-
} else if (responseInfo.statusCode > 399 && responseInfo.statusCode < 500) {
165+
} else if (responseInfo.statusCode > 399 &&
166+
(responseInfo.statusCode < 500 || responseInfo.statusCode == 573 || responseInfo.statusCode == 579 ||
167+
responseInfo.statusCode == 608 || responseInfo.statusCode == 612 || responseInfo.statusCode == 614 || responseInfo.statusCode == 630 || responseInfo.statusCode == 631 ||
168+
responseInfo.statusCode == 701)) {
166169
result = "bad_request";
167170
} else if (responseInfo.statusCode == ResponseInfo.ZeroSizeFile){
168171
result = "zero_size_file";

0 commit comments

Comments
 (0)