3939class HttpJsonErrorParserTest {
4040
4141 @ Test
42- void parseErrorDetails_success () {
42+ void parseStatus_success () {
4343 String payload =
4444 "{\n "
4545 + " \" error\" : {\n "
46+ + " \" code\" : 401,\n "
47+ + " \" message\" : \" Request is missing required authentication credential.\" ,\n "
48+ + " \" status\" : \" UNAUTHENTICATED\" ,\n "
4649 + " \" details\" : [\n "
4750 + " {\n "
4851 + " \" @type\" : \" type.googleapis.com/google.rpc.ErrorInfo\" ,\n "
@@ -56,8 +59,14 @@ void parseErrorDetails_success() {
5659 + " }\n "
5760 + "}" ;
5861
59- ErrorDetails errorDetails = HttpJsonErrorParser .parseErrorDetails (payload );
60- assertThat (errorDetails ).isNotNull ();
62+ com .google .rpc .Status status = HttpJsonErrorParser .parseStatus (payload );
63+ assertThat (status ).isNotNull ();
64+ assertThat (status .getCode ()).isEqualTo (401 );
65+ assertThat (status .getMessage ())
66+ .isEqualTo ("Request is missing required authentication credential." );
67+
68+ ErrorDetails errorDetails =
69+ ErrorDetails .builder ().setRawErrorMessages (status .getDetailsList ()).build ();
6170 ErrorInfo errorInfo = errorDetails .getErrorInfo ();
6271 assertThat (errorInfo ).isNotNull ();
6372 assertThat (errorInfo .getReason ()).isEqualTo ("SERVICE_DISABLED" );
@@ -66,7 +75,7 @@ void parseErrorDetails_success() {
6675 }
6776
6877 @ Test
69- void parseErrorDetails_noErrorInfo () {
78+ void parseStatus_noErrorInfo () {
7079 String payload =
7180 "{\n "
7281 + " \" error\" : {\n "
@@ -78,43 +87,50 @@ void parseErrorDetails_noErrorInfo() {
7887 + " }\n "
7988 + "}" ;
8089
81- ErrorDetails errorDetails = HttpJsonErrorParser .parseErrorDetails (payload );
82- assertThat (errorDetails ).isNotNull ();
90+ com .google .rpc .Status status = HttpJsonErrorParser .parseStatus (payload );
91+ assertThat (status ).isNotNull ();
92+ ErrorDetails errorDetails =
93+ ErrorDetails .builder ().setRawErrorMessages (status .getDetailsList ()).build ();
8394 assertThat (errorDetails .getRetryInfo ()).isNotNull ();
8495 }
8596
8697 @ Test
87- void parseErrorDetails_emptyPayload () {
88- assertThat (HttpJsonErrorParser .parseErrorDetails ("" ). getErrorInfo ()). isNull ( );
89- assertThat (HttpJsonErrorParser .parseErrorDetails (null ). getErrorInfo ()). isNull ( );
98+ void parseStatus_emptyPayload () {
99+ assertThat (HttpJsonErrorParser .parseStatus ("" )). isEqualTo ( com . google . rpc . Status . getDefaultInstance () );
100+ assertThat (HttpJsonErrorParser .parseStatus (null )). isEqualTo ( com . google . rpc . Status . getDefaultInstance () );
90101 }
91102
92103 @ Test
93- void parseErrorDetails_invalidJson () {
94- assertThat (HttpJsonErrorParser .parseErrorDetails ("{invalid" ).getErrorInfo ()).isNull ();
104+ void parseStatus_invalidJson () {
105+ assertThat (HttpJsonErrorParser .parseStatus ("{invalid" ))
106+ .isEqualTo (com .google .rpc .Status .getDefaultInstance ());
95107 }
96108
97109 @ Test
98- void parseErrorDetails_noErrorObject () {
110+ void parseStatus_noErrorObject () {
99111 String payload = "{\" foo\" : \" bar\" }" ;
100- assertThat (HttpJsonErrorParser .parseErrorDetails (payload ).getErrorInfo ()).isNull ();
112+ assertThat (HttpJsonErrorParser .parseStatus (payload ))
113+ .isEqualTo (com .google .rpc .Status .getDefaultInstance ());
101114 }
102115
103116 @ Test
104- void parseErrorDetails_noDetails () {
117+ void parseStatus_noDetails () {
105118 String payload = "{\" error\" : {}}" ;
106- assertThat (HttpJsonErrorParser .parseErrorDetails (payload ).getErrorInfo ()).isNull ();
119+ assertThat (HttpJsonErrorParser .parseStatus (payload ))
120+ .isEqualTo (com .google .rpc .Status .getDefaultInstance ());
107121 }
108122
109123 @ Test
110- void parseErrorDetails_garbageInError () {
124+ void parseStatus_garbageInError () {
111125 String payload = "{\" error\" : \" not-an-object\" }" ;
112- assertThat (HttpJsonErrorParser .parseErrorDetails (payload ).getErrorInfo ()).isNull ();
126+ assertThat (HttpJsonErrorParser .parseStatus (payload ))
127+ .isEqualTo (com .google .rpc .Status .getDefaultInstance ());
113128 }
114129
115130 @ Test
116- void parseErrorDetails_arrayInError () {
131+ void parseStatus_arrayInError () {
117132 String payload = "{\" error\" : []}" ;
118- assertThat (HttpJsonErrorParser .parseErrorDetails (payload ).getErrorInfo ()).isNull ();
133+ assertThat (HttpJsonErrorParser .parseStatus (payload ))
134+ .isEqualTo (com .google .rpc .Status .getDefaultInstance ());
119135 }
120136}
0 commit comments