package org.ovirt.engine.core.bll.host.provider.foreman;
import static org.junit.Assert.assertEquals;
import java.util.EnumSet;
import org.junit.Test;
import org.ovirt.engine.core.common.businessentities.Erratum;
import org.ovirt.engine.core.common.queries.ErrataFilter;
public class FilteredErrataRelativeUrlBuilderTest {
private static final String HOST_ID = "xxx";
private static final String CONTENT_HOST_ERRATA_ENDPOINT = "/katello/api/v2/systems/xxx/errata";
@Test
public void testUrlWithEmptyFilter() {
ErrataFilter errataFilter = new ErrataFilter();
FilteredErrataRelativeUrlBuilder underTest = createFilteredErrataRelativeUrlBuilder(errataFilter);
assertEquals("/katello/api/v2/systems/xxx/errata", underTest.build());
}
@Test
public void testUrlWithFilterByTypes() {
ErrataFilter errataFilter = new ErrataFilter();
errataFilter.setErrataTypes(EnumSet.of(Erratum.ErrataType.BUGFIX, Erratum.ErrataType.SECURITY));
FilteredErrataRelativeUrlBuilder underTest = createFilteredErrataRelativeUrlBuilder(errataFilter);
assertEquals("/katello/api/v2/systems/xxx/errata?search=type+%3D+bugfix+or+type+%3D+security",
underTest.build());
}
@Test
public void testUrlWithPagination() {
ErrataFilter errataFilter = new ErrataFilter();
errataFilter.setPageSize(20);
errataFilter.setPageNumber(3);
FilteredErrataRelativeUrlBuilder underTest = createFilteredErrataRelativeUrlBuilder(errataFilter);
assertEquals("/katello/api/v2/systems/xxx/errata?page=3&per_page=20", underTest.build());
}
@Test
public void testUrlWithPaginationAndTypes() {
ErrataFilter errataFilter = new ErrataFilter();
errataFilter.setErrataTypes(EnumSet.of(Erratum.ErrataType.BUGFIX, Erratum.ErrataType.SECURITY));
errataFilter.setPageSize(20);
errataFilter.setPageNumber(3);
FilteredErrataRelativeUrlBuilder underTest = createFilteredErrataRelativeUrlBuilder(errataFilter);
assertEquals("/katello/api/v2/systems/xxx/errata?search=type+%3D+bugfix+or+type+%3D+security&page=3&per_page=20",
underTest.build());
}
@Test
public void testUrlWithoutFilter() {
FilteredErrataRelativeUrlBuilder underTest = createFilteredErrataRelativeUrlBuilder(null);
assertEquals("/katello/api/v2/systems/xxx/errata", underTest.build());
}
private FilteredErrataRelativeUrlBuilder createFilteredErrataRelativeUrlBuilder(ErrataFilter errataFilter) {
return new FilteredErrataRelativeUrlBuilder(HOST_ID, errataFilter, CONTENT_HOST_ERRATA_ENDPOINT);
}
}