blob: c97eba297bc32cef04d4acf35b691eb7a1d22de2 [file] [log] [blame]
package net.onrc.onos.api.rest;
import org.junit.Test;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.hasItem;
import static org.hamcrest.Matchers.not;
/**
* Tests to make sure that the error catalog is consistent.
*/
public class RestErrorCatalogTest {
/**
* Make sure that there are no duplicate entries in the catalog.
*/
@Test
public void testNoDuplicatesInCatalog() {
final Set<RestErrorCodes.RestErrorCode> entriesSeen = new HashSet<>();
final RestErrorCatalogEntry[] rawEntries = RestErrorCatalog.getCatalogEntries();
for (final RestErrorCatalogEntry entry : rawEntries) {
// There should only be one entry for this code, if we have seen it
// before that's an error.
assertThat(entriesSeen, not(hasItem(entry.getCode())));
entriesSeen.add(entry.getCode());
}
}
/**
* Make sure that each REST error code has an entry in the catalog.
*/
@Test
public void testAllCodesInCatalog() {
final Map<Integer, RestErrorCatalogEntry> catalogEntryMap =
RestErrorCatalog.getRestErrorMap();
for (final RestErrorCodes.RestErrorCode code : RestErrorCodes.RestErrorCode.values()) {
// There should be a RestErrorCatalogEntry for every code.
assertThat(catalogEntryMap.keySet(), hasItem(code.ordinal()));
}
}
}