/*-
* ============LICENSE_START=======================================================
- * Copyright (C) 2019 Nordix Foundation.
+ * Copyright (C) 2019, 2021, 2023 Nordix Foundation.
+ * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.Response.Status;
import java.io.IOException;
-
-import javax.ws.rs.core.Response;
-
import org.junit.Test;
+import org.onap.policy.models.errors.concepts.ErrorResponse;
public class ExceptionsTest {
+ private static final String STRING_TEXT = "String";
+ private static final String MESSAGE = "Message";
+
@Test
public void test() {
- assertNotNull(new PfModelException(Response.Status.OK, "Message"));
- assertNotNull(new PfModelException(Response.Status.OK, "Message", "String"));
- assertNotNull(new PfModelException(Response.Status.OK, "Message", new IOException()));
- assertNotNull(new PfModelException(Response.Status.OK, "Message", new IOException(), "String"));
+ assertNotNull(new PfModelException(Response.Status.OK, MESSAGE));
+ assertNotNull(new PfModelException(Response.Status.OK, MESSAGE, STRING_TEXT));
+ assertNotNull(new PfModelException(Response.Status.OK, MESSAGE, new IOException()));
+ assertNotNull(new PfModelException(Response.Status.OK, MESSAGE, new IOException(), STRING_TEXT));
String key = "A String";
PfModelException ae =
- new PfModelException(Response.Status.OK, "Message", new IOException("IO exception message"), key);
- assertEquals("Message\ncaused by: Message\ncaused by: IO exception message", ae.getCascadedMessage());
+ new PfModelException(Response.Status.OK, MESSAGE, new IOException("IO exception message"), key);
+ ErrorResponse errorResponse = ae.getErrorResponse();
+ assertEquals("Message\nIO exception message", String.join("\n", errorResponse.getErrorDetails()));
assertEquals(key, ae.getObject());
- assertNotNull(new PfModelRuntimeException(Response.Status.OK, "Message"));
- assertNotNull(new PfModelRuntimeException(Response.Status.OK, "Message", "String"));
- assertNotNull(new PfModelRuntimeException(Response.Status.OK, "Message", new IOException()));
- assertNotNull(new PfModelRuntimeException(Response.Status.OK, "Message", new IOException(), "String"));
+ assertNotNull(new PfModelRuntimeException(Response.Status.OK, MESSAGE));
+ assertNotNull(new PfModelRuntimeException(Response.Status.OK, MESSAGE, STRING_TEXT));
+ assertNotNull(new PfModelRuntimeException(Response.Status.OK, MESSAGE, new IOException()));
+ assertNotNull(new PfModelRuntimeException(Response.Status.OK, MESSAGE, new IOException(), STRING_TEXT));
String rkey = "A String";
PfModelRuntimeException re = new PfModelRuntimeException(Response.Status.OK, "Runtime Message",
- new IOException("IO runtime exception message"), rkey);
- assertEquals("Runtime Message\ncaused by: Runtime Message\ncaused by: IO runtime exception message",
- re.getCascadedMessage());
+ new IOException("IO runtime exception message"), rkey);
+ errorResponse = re.getErrorResponse();
+ assertEquals("Runtime Message\nIO runtime exception message",
+ String.join("\n", errorResponse.getErrorDetails()));
assertEquals(key, re.getObject());
+
+ PfModelRuntimeException pfre = new PfModelRuntimeException(ae);
+ assertEquals(ae.getErrorResponse().getResponseCode(), pfre.getErrorResponse().getResponseCode());
+ assertEquals(ae.getMessage(), pfre.getMessage());
+
+ try {
+ try {
+ throw new PfModelException(Status.BAD_GATEWAY, "An Exception");
+ } catch (PfModelException pfme) {
+ throw new PfModelRuntimeException(pfme);
+ }
+ } catch (PfModelRuntimeException pfmre) {
+ assertEquals(Status.BAD_GATEWAY, pfmre.getErrorResponse().getResponseCode());
+ assertEquals("An Exception", pfmre.getMessage());
+ assertEquals(PfModelException.class.getName(), pfmre.getCause().getClass().getName());
+ }
}
}