Skip to content

Commit 3803831

Browse files
HeniganHenigan
authored andcommitted
Add QueryErrorCodeTests
1 parent 5550820 commit 3803831

2 files changed

Lines changed: 213 additions & 0 deletions

File tree

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/Validator.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.smartdevicelink.managers.file.filetypes.SdlFile;
44
import com.smartdevicelink.protocol.enums.FrameDataControlFrameType;
55
import com.smartdevicelink.protocol.enums.FrameType;
6+
import com.smartdevicelink.protocol.enums.QueryErrorCode;
67
import com.smartdevicelink.protocol.enums.QueryType;
78
import com.smartdevicelink.protocol.enums.SessionType;
89
import com.smartdevicelink.proxy.rpc.*;
@@ -150,6 +151,29 @@ public static boolean validateQueryTypeArray(QueryType[] array1, QueryType[] arr
150151
return true;
151152
}
152153

154+
public static boolean validateQueryErrorCodeArray(QueryErrorCode[] array1, QueryErrorCode[] array2) {
155+
156+
if (array1 == null) {
157+
return (array2 == null);
158+
}
159+
160+
if (array2 == null) {
161+
return (array1 == null);
162+
}
163+
164+
if (array1.length != array2.length) {
165+
return false;
166+
}
167+
168+
for (int i = 0; i < array1.length; i++) {
169+
if (array1[i] != array2[i]) {
170+
return false;
171+
}
172+
}
173+
174+
return true;
175+
}
176+
153177
public static boolean validateFrameDataControlFrameTypeArray(FrameDataControlFrameType[] array1, FrameDataControlFrameType[] array2) {
154178

155179
if (array1 == null) {
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
package com.smartdevicelink.test.protocol.enums;
2+
3+
import com.smartdevicelink.protocol.enums.QueryErrorCode;
4+
import com.smartdevicelink.test.Validator;
5+
6+
import junit.framework.TestCase;
7+
8+
import java.util.Vector;
9+
10+
public class QueryErrorCodeTests extends TestCase {
11+
12+
private Vector<QueryErrorCode> list = QueryErrorCode.getList();
13+
14+
public void testValidEnums() {
15+
final byte ERROR_SUCCESS_BYTE = (byte) 0x00;
16+
final String ERROR_SUCCESS_STRING = "ERROR_SUCCESS";
17+
18+
final byte ERROR_INVALID_QUERY_SIZE_BYTE = (byte) 0x01;
19+
final String ERROR_INVALID_QUERY_SIZE_STRING = "ERROR_INVALID_QUERY_SIZE";
20+
21+
final byte ERROR_INVALID_QUERY_ID_BYTE = (byte) 0x02;
22+
final String ERROR_INVALID_QUERY_ID_STRING = "ERROR_INVALID_QUERY_ID";
23+
24+
final byte ERROR_NOT_SUPPORTED_BYTE = (byte) 0x03;
25+
final String ERROR_NOT_SUPPORTED_STRING = "ERROR_NOT_SUPPORTED";
26+
27+
final byte ERROR_SERVICE_ALREADY_PROTECTED_BYTE = (byte) 0x04;
28+
final String ERROR_SERVICE_ALREADY_PROTECTED_STRING = "ERROR_SERVICE_ALREADY_PROTECTED";
29+
30+
final byte ERROR_SERVICE_NOT_PROTECTED_BYTE = (byte) 0x05;
31+
final String ERROR_SERVICE_NOT_PROTECTED_STRING = "ERROR_SERVICE_NOT_PROTECTED";
32+
33+
final byte ERROR_DECRYPTION_FAILED_BYTE = (byte) 0x06;
34+
final String ERROR_DECRYPTION_FAILED_STRING = "ERROR_DECRYPTION_FAILED";
35+
36+
final byte ERROR_ENCRYPTION_FAILED_BYTE = (byte) 0x07;
37+
final String ERROR_ENCRYPTION_FAILED_STRING = "ERROR_ENCRYPTION_FAILED";
38+
39+
final byte ERROR_SSL_INVALID_DATA_BYTE = (byte) 0x08;
40+
final String ERROR_SSL_INVALID_DATA_STRING = "ERROR_SSL_INVALID_DATA";
41+
42+
final byte ERROR_HANDSHAKE_FAILED_BYTE = (byte) 0x09;
43+
final String ERROR_HANDSHAKE_FAILED_STRING = "ERROR_HANDSHAKE_FAILED";
44+
45+
final byte INVALID_CERT_BYTE = (byte) 0x0A;
46+
final String INVALID_CERT_STRING = "INVALID_CERT";
47+
48+
final byte EXPIRED_CERT_BYTE = (byte) 0x0B;
49+
final String EXPIRED_CERT_STRING = "EXPIRED_CERT";
50+
51+
final byte ERROR_INTERNAL_BYTE = (byte) 0xFF;
52+
final String ERROR_INTERNAL_STRING = "ERROR_INTERNAL";
53+
54+
final byte ERROR_UNKNOWN_INTERNAL_ERROR_BYTE = (byte) 0xFE;
55+
final String ERROR_UNKNOWN_INTERNAL_ERROR_STRING = "ERROR_UNKNOWN_INTERNAL_ERROR";
56+
57+
try {
58+
assertNotNull("QueryErrorCode list returned null", list);
59+
60+
QueryErrorCode enumSuccess = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SUCCESS_BYTE);
61+
QueryErrorCode enumInvalidQuerySize = (QueryErrorCode) QueryErrorCode.get(list, ERROR_INVALID_QUERY_SIZE_BYTE);
62+
QueryErrorCode enumInvalidQueryID = (QueryErrorCode) QueryErrorCode.get(list, ERROR_INVALID_QUERY_ID_BYTE);
63+
QueryErrorCode enumNotSupported = (QueryErrorCode) QueryErrorCode.get(list, ERROR_NOT_SUPPORTED_BYTE);
64+
QueryErrorCode enumServiceAlreadyProtected = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SERVICE_ALREADY_PROTECTED_BYTE);
65+
QueryErrorCode enumServiceNotProtected = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SERVICE_NOT_PROTECTED_BYTE);
66+
QueryErrorCode enumDecryptionFailed = (QueryErrorCode) QueryErrorCode.get(list, ERROR_DECRYPTION_FAILED_BYTE);
67+
QueryErrorCode enumEncryptionFailed = (QueryErrorCode) QueryErrorCode.get(list, ERROR_ENCRYPTION_FAILED_BYTE);
68+
QueryErrorCode enumSSLInvalidData = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SSL_INVALID_DATA_BYTE);
69+
QueryErrorCode enumHandshakeFailed = (QueryErrorCode) QueryErrorCode.get(list, ERROR_HANDSHAKE_FAILED_BYTE);
70+
QueryErrorCode enumInvalidCert = (QueryErrorCode) QueryErrorCode.get(list, INVALID_CERT_BYTE);
71+
QueryErrorCode enumExpiredCert = (QueryErrorCode) QueryErrorCode.get(list, EXPIRED_CERT_BYTE);
72+
QueryErrorCode enumInternal = (QueryErrorCode) QueryErrorCode.get(list, ERROR_INTERNAL_BYTE);
73+
QueryErrorCode enumUnknownInternalError = (QueryErrorCode) QueryErrorCode.get(list, ERROR_UNKNOWN_INTERNAL_ERROR_BYTE);
74+
75+
assertNotNull("Success byte match returned null", enumSuccess);
76+
assertNotNull("Invalid Query Size byte match returned null", enumInvalidQuerySize);
77+
assertNotNull("Invalid Query ID byte match returned null", enumInvalidQueryID);
78+
assertNotNull("Not Supported byte match returned null", enumNotSupported);
79+
assertNotNull("Service Already Protected byte match returned null", enumServiceAlreadyProtected);
80+
assertNotNull("Service Not Protected byte match returned null", enumServiceNotProtected);
81+
assertNotNull("Decryption Failed byte match returned null", enumDecryptionFailed);
82+
assertNotNull("Encryption Failed byte match returned null", enumEncryptionFailed);
83+
assertNotNull("SSL Invalid Data byte match returned null", enumSSLInvalidData);
84+
assertNotNull("Handshake Failed byte match returned null", enumHandshakeFailed);
85+
assertNotNull("Invalid Cert byte match returned null", enumInvalidCert);
86+
assertNotNull("Expired Cert byte match returned null", enumExpiredCert);
87+
assertNotNull("Internal byte match returned null", enumInternal);
88+
assertNotNull("Unknown Internal byte match returned null", enumUnknownInternalError);
89+
90+
enumSuccess = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SUCCESS_STRING);
91+
enumInvalidQuerySize = (QueryErrorCode) QueryErrorCode.get(list, ERROR_INVALID_QUERY_SIZE_STRING);
92+
enumInvalidQueryID = (QueryErrorCode) QueryErrorCode.get(list, ERROR_INVALID_QUERY_ID_STRING);
93+
enumNotSupported = (QueryErrorCode) QueryErrorCode.get(list, ERROR_NOT_SUPPORTED_STRING);
94+
enumServiceAlreadyProtected = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SERVICE_ALREADY_PROTECTED_STRING);
95+
enumServiceNotProtected = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SERVICE_NOT_PROTECTED_STRING);
96+
enumDecryptionFailed = (QueryErrorCode) QueryErrorCode.get(list, ERROR_DECRYPTION_FAILED_STRING);
97+
enumEncryptionFailed = (QueryErrorCode) QueryErrorCode.get(list, ERROR_ENCRYPTION_FAILED_STRING);
98+
enumSSLInvalidData = (QueryErrorCode) QueryErrorCode.get(list, ERROR_SSL_INVALID_DATA_STRING);
99+
enumHandshakeFailed = (QueryErrorCode) QueryErrorCode.get(list, ERROR_HANDSHAKE_FAILED_STRING);
100+
enumInvalidCert = (QueryErrorCode) QueryErrorCode.get(list, INVALID_CERT_STRING);
101+
enumExpiredCert = (QueryErrorCode) QueryErrorCode.get(list, EXPIRED_CERT_STRING);
102+
enumInternal = (QueryErrorCode) QueryErrorCode.get(list, ERROR_INTERNAL_STRING);
103+
enumUnknownInternalError = (QueryErrorCode) QueryErrorCode.get(list, ERROR_UNKNOWN_INTERNAL_ERROR_STRING);
104+
105+
assertNotNull("Success string match returned null", enumSuccess);
106+
assertNotNull("Invalid Query Size string match returned null", enumInvalidQuerySize);
107+
assertNotNull("Invalid Query ID string match returned null", enumInvalidQueryID);
108+
assertNotNull("Not Supported string match returned null", enumNotSupported);
109+
assertNotNull("Service Already Protected string match returned null", enumServiceAlreadyProtected);
110+
assertNotNull("Service Not Protected string match returned null", enumServiceNotProtected);
111+
assertNotNull("Decryption Failed string match returned null", enumDecryptionFailed);
112+
assertNotNull("Encryption Failed string match returned null", enumEncryptionFailed);
113+
assertNotNull("SSL Invalid Data string match returned null", enumSSLInvalidData);
114+
assertNotNull("Handshake Failed string match returned null", enumHandshakeFailed);
115+
assertNotNull("Invalid Cert string match returned null", enumInvalidCert);
116+
assertNotNull("Expired Cert string match returned null", enumExpiredCert);
117+
assertNotNull("Internal string match returned null", enumInternal);
118+
assertNotNull("Unknown Internal string match returned null", enumUnknownInternalError);
119+
} catch (NullPointerException exception) {
120+
fail("Null enum list throws NullPointerException.");
121+
}
122+
}
123+
124+
public void testInvalidEnum() {
125+
final byte INVALID_BYTE = (byte) 0xAB;
126+
final String INVALID_STRING = "Invalid";
127+
128+
try {
129+
QueryErrorCode enumInvalid = (QueryErrorCode) QueryErrorCode.get(list, INVALID_BYTE);
130+
assertNull("Invalid byte match didn't return null", enumInvalid);
131+
132+
enumInvalid = (QueryErrorCode) QueryErrorCode.get(list, INVALID_STRING);
133+
assertNull("Invalid byte match didn't return null", enumInvalid);
134+
} catch (IllegalArgumentException exception) {
135+
fail("Invalid enum throws IllegalArgumentException.");
136+
}
137+
}
138+
139+
public void testNullEnum() {
140+
try {
141+
QueryErrorCode enumNull = (QueryErrorCode) QueryErrorCode.get(list, null);
142+
assertNull("Null lookup returns a value", enumNull);
143+
} catch (NullPointerException exception) {
144+
fail("Null string throws NullPointerException.");
145+
}
146+
}
147+
148+
public void testListEnum() {
149+
Vector<QueryErrorCode> enumTestList = new Vector<>();
150+
enumTestList.add(QueryErrorCode.ERROR_SUCCESS);
151+
enumTestList.add(QueryErrorCode.ERROR_INVALID_QUERY_SIZE);
152+
enumTestList.add(QueryErrorCode.ERROR_INVALID_QUERY_ID);
153+
enumTestList.add(QueryErrorCode.ERROR_NOT_SUPPORTED);
154+
enumTestList.add(QueryErrorCode.ERROR_SERVICE_ALREADY_PROTECTED);
155+
enumTestList.add(QueryErrorCode.ERROR_SERVICE_NOT_PROTECTED);
156+
enumTestList.add(QueryErrorCode.ERROR_DECRYPTION_FAILED);
157+
enumTestList.add(QueryErrorCode.ERROR_ENCRYPTION_FAILED);
158+
enumTestList.add(QueryErrorCode.ERROR_SSL_INVALID_DATA);
159+
enumTestList.add(QueryErrorCode.ERROR_HANDSHAKE_FAILED);
160+
enumTestList.add(QueryErrorCode.INVALID_CERT);
161+
enumTestList.add(QueryErrorCode.EXPIRED_CERT);
162+
enumTestList.add(QueryErrorCode.ERROR_INTERNAL);
163+
enumTestList.add(QueryErrorCode.ERROR_UNKNOWN_INTERNAL_ERROR);
164+
165+
assertTrue("List does not match enum test list.",
166+
list.containsAll(enumTestList) &&
167+
enumTestList.containsAll(list));
168+
169+
QueryErrorCode[] enumValueArray = QueryErrorCode.values();
170+
QueryErrorCode[] enumTestArray = {
171+
QueryErrorCode.ERROR_SUCCESS,
172+
QueryErrorCode.ERROR_INVALID_QUERY_SIZE,
173+
QueryErrorCode.ERROR_INVALID_QUERY_ID,
174+
QueryErrorCode.ERROR_NOT_SUPPORTED,
175+
QueryErrorCode.ERROR_SERVICE_ALREADY_PROTECTED,
176+
QueryErrorCode.ERROR_SERVICE_NOT_PROTECTED,
177+
QueryErrorCode.ERROR_DECRYPTION_FAILED,
178+
QueryErrorCode.ERROR_ENCRYPTION_FAILED,
179+
QueryErrorCode.ERROR_SSL_INVALID_DATA,
180+
QueryErrorCode.ERROR_HANDSHAKE_FAILED,
181+
QueryErrorCode.INVALID_CERT,
182+
QueryErrorCode.EXPIRED_CERT,
183+
QueryErrorCode.ERROR_INTERNAL,
184+
QueryErrorCode.ERROR_UNKNOWN_INTERNAL_ERROR
185+
};
186+
assertTrue("Array does not match enum values array.",
187+
Validator.validateQueryErrorCodeArray(enumValueArray, enumTestArray));
188+
}
189+
}

0 commit comments

Comments
 (0)