import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import java.util.HashMap;
-import java.util.Map;
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.hamcrest.Matcher;
import org.junit.Test;
import org.opendaylight.restconf.common.errors.RestconfError;
-import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag;
+import org.opendaylight.yangtools.yang.common.ErrorTag;
import org.opendaylight.yangtools.yang.common.ErrorType;
import org.opendaylight.yangtools.yang.common.RpcError;
import org.opendaylight.yangtools.yang.common.RpcResultBuilder;
}
}
- @Test
- public void testErrorTagValueOf() {
- assertEquals(ErrorTag.IN_USE, ErrorTag.valueOfCaseInsensitive(ErrorTag.IN_USE.getTagValue()));
- }
-
- @Test
- public void testErrorTagValueOfIsLowercase() {
- assertEquals("in-use", ErrorTag.IN_USE.getTagValue());
- }
-
- @Test
- public void testErrorTagStatusCodes() {
- Map<String, Integer> lookUpMap = new HashMap<>();
-
- lookUpMap.put("in-use", 409);
- lookUpMap.put("invalid-value", 400);
- lookUpMap.put("too-big", 413);
- lookUpMap.put("missing-attribute", 400);
- lookUpMap.put("bad-attribute", 400);
- lookUpMap.put("unknown-attribute", 400);
- lookUpMap.put("missing-element", 400);
- lookUpMap.put("bad-element", 400);
- lookUpMap.put("unknown-element", 400);
- lookUpMap.put("unknown-namespace", 400);
- lookUpMap.put("access-denied", 403);
- lookUpMap.put("lock-denied", 409);
- lookUpMap.put("resource-denied", 409);
- lookUpMap.put("rollback-failed", 500);
- lookUpMap.put("data-exists", 409);
- lookUpMap.put("data-missing", 409);
- lookUpMap.put("operation-not-supported", 501);
- lookUpMap.put("operation-failed", 500);
- lookUpMap.put("partial-operation", 500);
- lookUpMap.put("malformed-message", 400);
- lookUpMap.put("resource-denied-transport", 503);
-
- for (ErrorTag tag : ErrorTag.values()) {
- Integer expectedStatusCode = lookUpMap.get(tag.getTagValue());
- assertNotNull("Failed to find " + tag.getTagValue(), expectedStatusCode);
- assertEquals("Status Code does not match", expectedStatusCode, Integer.valueOf(tag.getStatusCode()));
- }
- }
-
@Test
public void testRestConfDocumentedException_NoCause() {
String expectedMessage = "Message";
// All fields set
RpcError rpcError = RpcResultBuilder.newError(
- RpcError.ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE.getTagValue(), "mock error-message",
+ RpcError.ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE.elementBody(), "mock error-message",
"mock app-tag", "mock error-info", new Exception("mock cause"));
validateRestConfError("mock error-message", ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE, "mock app-tag",
// All fields set except 'info' - expect error-info set to 'cause'
rpcError = RpcResultBuilder.newError(
- RpcError.ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE.getTagValue(), "mock error-message",
+ RpcError.ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE.elementBody(), "mock error-message",
"mock app-tag", null, new Exception("mock cause"));
validateRestConfError("mock error-message", ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE, "mock app-tag",
// Some fields set - expect error-info set to ErrorSeverity
rpcError = RpcResultBuilder.newError(
- RpcError.ErrorType.RPC, ErrorTag.ACCESS_DENIED.getTagValue(), null, null, null, null);
+ RpcError.ErrorType.RPC, ErrorTag.ACCESS_DENIED.elementBody(), null, null, null, null);
validateRestConfError(null, ErrorType.RPC, ErrorTag.ACCESS_DENIED, null, "<severity>error</severity>",
new RestconfError(rpcError));
- // 'tag' field not mapped to ErrorTag - expect error-tag set to
- // OPERATION_FAILED
- rpcError = RpcResultBuilder.newWarning(
- RpcError.ErrorType.TRANSPORT, "not mapped", null, null, null, null);
+ // 'tag' field not mapped to ErrorTag - expect error-tag set to OPERATION_FAILED
+ rpcError = RpcResultBuilder.newWarning(RpcError.ErrorType.TRANSPORT, "not mapped", null, null, null, null);
- validateRestConfError(null, ErrorType.TRANSPORT, ErrorTag.OPERATION_FAILED, null,
+ validateRestConfError(null, ErrorType.TRANSPORT, new ErrorTag("not mapped"), null,
"<severity>warning</severity>", new RestconfError(rpcError));
// No fields set - edge case