X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2Ftest%2FRestconfErrorTest.java;fp=opendaylight%2Fmd-sal%2Fsal-rest-connector%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fimpl%2Ftest%2FRestconfErrorTest.java;h=0000000000000000000000000000000000000000;hb=89b8b59cd26fd4810293ff14386eb29a71da9fac;hp=010572de968736fabbda746d3ff5c8b101a5c433;hpb=9ba2b4eca79bcc0e78099b133296801c8d45a6c4;p=controller.git diff --git a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestconfErrorTest.java b/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestconfErrorTest.java deleted file mode 100644 index 010572de96..0000000000 --- a/opendaylight/md-sal/sal-rest-connector/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestconfErrorTest.java +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Copyright (c) 2014 Brocade Communications Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.controller.sal.restconf.impl.test; - -import static org.hamcrest.CoreMatchers.equalTo; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertThat; - -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.controller.sal.restconf.impl.RestconfError; -import org.opendaylight.controller.sal.restconf.impl.RestconfError.ErrorTag; -import org.opendaylight.controller.sal.restconf.impl.RestconfError.ErrorType; -import org.opendaylight.yangtools.yang.common.RpcError; -import org.opendaylight.yangtools.yang.common.RpcResultBuilder; - -/** - * Unit tests for RestconfError. - * - * @author Devin Avery - * @author Thomas Pantelis - * - */ -public class RestconfErrorTest { - - static class Contains extends BaseMatcher { - - private final String text; - - public Contains(String text) { - this.text = text; - } - - @Override - public void describeTo(Description desc) { - desc.appendText("contains ").appendValue(text); - } - - @Override - public boolean matches(Object arg) { - return arg != null && arg.toString().contains(text); - } - } - - @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 testErrorTypeGetErrorTypeTagIsLowerCase() { - assertEquals(ErrorType.APPLICATION.name().toLowerCase(), ErrorType.APPLICATION.getErrorTypeTag()); - } - - @Test - public void testErrorTypeValueOf() { - assertEquals(ErrorType.APPLICATION, ErrorType.valueOfCaseInsensitive(ErrorType.APPLICATION.getErrorTypeTag())); - } - - @Test - public void testErrorTagStatusCodes() { - Map 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("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", 404); - lookUpMap.put("operation-not-supported", 501); - lookUpMap.put("operation-failed", 500); - lookUpMap.put("partial-operation", 500); - lookUpMap.put("malformed-message", 400); - - 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"; - ErrorType expectedErrorType = ErrorType.RPC; - ErrorTag expectedErrorTag = ErrorTag.IN_USE; - RestconfError e = new RestconfError(expectedErrorType, expectedErrorTag, expectedMessage); - - validateRestConfError(expectedMessage, expectedErrorType, expectedErrorTag, null, (String) null, e); - } - - @Test - public void testRestConfDocumentedException_WithAppTag() { - String expectedMessage = "Message"; - ErrorType expectedErrorType = ErrorType.RPC; - ErrorTag expectedErrorTag = ErrorTag.IN_USE; - String expectedErrorAppTag = "application.tag"; - - RestconfError e = new RestconfError(expectedErrorType, expectedErrorTag, expectedMessage, expectedErrorAppTag); - - validateRestConfError(expectedMessage, expectedErrorType, expectedErrorTag, expectedErrorAppTag, (String) null, - e); - } - - @Test - public void testRestConfDocumentedException_WithAppTagErrorInfo() { - String expectedMessage = "Message"; - ErrorType expectedErrorType = ErrorType.RPC; - ErrorTag expectedErrorTag = ErrorTag.IN_USE; - String expectedErrorAppTag = "application.tag"; - String errorInfo = "session.id"; - - RestconfError e = new RestconfError(expectedErrorType, expectedErrorTag, expectedMessage, expectedErrorAppTag, - errorInfo); - - validateRestConfError(expectedMessage, expectedErrorType, expectedErrorTag, expectedErrorAppTag, errorInfo, e); - } - - @Test - public void testRestConfErrorWithRpcError() { - - // All fields set - RpcError rpcError = RpcResultBuilder.newError( - RpcError.ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE.getTagValue(), "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", - "mock error-info", new RestconfError(rpcError)); - - // All fields set except 'info' - expect error-info set to 'cause' - rpcError = RpcResultBuilder.newError( - RpcError.ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE.getTagValue(), "mock error-message", - "mock app-tag", null, new Exception( "mock cause" ) ); - - validateRestConfError("mock error-message", ErrorType.PROTOCOL, ErrorTag.BAD_ATTRIBUTE, "mock app-tag", - new Contains("mock cause"), new RestconfError(rpcError)); - - // Some fields set - expect error-info set to ErrorSeverity - rpcError = RpcResultBuilder.newError( - RpcError.ErrorType.RPC, ErrorTag.ACCESS_DENIED.getTagValue(), null, null, null, null ); - - validateRestConfError(null, ErrorType.RPC, ErrorTag.ACCESS_DENIED, null, "error", - 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 ); - - validateRestConfError(null, ErrorType.TRANSPORT, ErrorTag.OPERATION_FAILED, null, - "warning", new RestconfError(rpcError)); - - // No fields set - edge case - rpcError = RpcResultBuilder.newError( null, null, null, null, null, null ); - - validateRestConfError( null, ErrorType.APPLICATION, ErrorTag.OPERATION_FAILED, - null, "error", new RestconfError( rpcError ) ); - } - - private void validateRestConfError(String expectedMessage, ErrorType expectedErrorType, ErrorTag expectedErrorTag, - String expectedErrorAppTag, String errorInfo, RestconfError e) { - - validateRestConfError(expectedMessage, expectedErrorType, expectedErrorTag, expectedErrorAppTag, - equalTo(errorInfo), e); - } - - private void validateRestConfError(String expectedMessage, ErrorType expectedErrorType, ErrorTag expectedErrorTag, - String expectedErrorAppTag, Matcher errorInfoMatcher, RestconfError e) { - - assertEquals("getErrorMessage", expectedMessage, e.getErrorMessage()); - assertEquals("getErrorType", expectedErrorType, e.getErrorType()); - assertEquals("getErrorTag", expectedErrorTag, e.getErrorTag()); - assertEquals("getErrorAppTag", expectedErrorAppTag, e.getErrorAppTag()); - assertThat("getErrorInfo", e.getErrorInfo(), errorInfoMatcher); - e.toString(); // really just checking for NPE etc. Don't care about - // contents. - } -}