blob: 4141b78fc90f88e9f110efc2212fb4906656822f [file] [log] [blame]
package net.onrc.onos.api.rest;
import org.junit.Test;
import static net.onrc.onos.core.util.ImmutableClassChecker.assertThatClassIsImmutable;
import static net.onrc.onos.core.util.UtilityClassChecker.assertThatClassIsUtility;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
/**
* Unit tests for REST error handling classes.
*/
public class RestErrorCatalogEntryTest {
/**
* Test the formatting of a REST error that contains a single
* positional parameter.
*/
@Test
public void testRestErrorFormatting1Parameter() {
final RestErrorCatalogEntry restErrorCatalogEntry =
RestErrorCatalog.getRestError(RestErrorCodes.RestErrorCode.INTENT_ALREADY_EXISTS);
assertThat(restErrorCatalogEntry, is(notNullValue()));
final RestError formattedError =
RestError.createRestError(RestErrorCodes.RestErrorCode.INTENT_ALREADY_EXISTS,
"INTENT-ID");
final String formattedErrorString =
formattedError.getFormattedDescription();
assertThat(formattedErrorString, is(notNullValue()));
final String expectedFormattedString =
"An intent with the identifier INTENT-ID could not be created " +
"because one already exists.";
assertThat(formattedErrorString, is(equalTo(expectedFormattedString)));
}
/**
* Test the formatting of a REST error that contains two
* positional parameters.
*/
@Test
public void testRestErrorFormatting2Parameters() {
final RestErrorCatalogEntry restErrorCatalogEntry =
RestErrorCatalog.getRestError(RestErrorCodes.RestErrorCode.INTENT_NO_PATH);
assertThat(restErrorCatalogEntry, is(notNullValue()));
final RestError formattedError =
RestError.createRestError(RestErrorCodes.RestErrorCode.INTENT_NO_PATH,
"Switch1", "Switch2");
final String formattedErrorString =
formattedError.getFormattedDescription();
assertThat(formattedErrorString, is(notNullValue()));
final String expectedFormattedString =
"No path found between Switch1 and Switch2";
assertThat(formattedErrorString, is(equalTo(expectedFormattedString)));
}
/**
* Make sure that the error formatter is a utility class.
*/
@Test
public void assureThatErrorFormatterIsUtility() {
assertThatClassIsUtility(RestErrorFormatter.class);
}
/**
* Make sure that the error catalog is a utility class.
*/
@Test
public void assureThatErrorCatalogIsUtility() {
assertThatClassIsUtility(RestErrorCatalog.class);
}
/**
* Make sure that the error codes is a utility class.
*/
@Test
public void assureThatErrorCodesIsUtility() {
assertThatClassIsUtility(RestErrorCodes.class);
}
/**
* Make sure that the RestErrorCatalogEntry class is immutable.
*/
@Test
public void assureThatRestErrorCatalogEntryIsImmutable() {
assertThatClassIsImmutable(RestErrorCatalogEntry.class);
}
/**
* Make sure that the RestErrorCatalogEntry class is immutable.
*/
@Test
public void assureThatRestErrorIsImmutable() {
assertThatClassIsImmutable(RestError.class);
}
}