use of org.opennms.netmgt.model.OnmsFilterFavorite.Page in project opennms by OpenNMS.
the class FilterFavoriteServiceIT method setUp.
@Before
public void setUp() {
populator.addExtension(new DatabasePopulator.Extension<FilterFavoriteDao>() {
@Override
public DaoSupport<FilterFavoriteDao> getDaoSupport() {
return new DaoSupport<FilterFavoriteDao>(FilterFavoriteDao.class, service.getFilterFavoriteDao());
}
@Override
public void onPopulate(DatabasePopulator populator, FilterFavoriteDao dao) {
dao.save(createFavorite("mvr", "First Favorite 1", "filter=severity%3D6&filter=node%3D2", OnmsFilterFavorite.Page.EVENT));
dao.save(createFavorite("mvr", "First Favorite 2", "filter=severity%3D6&filter=node%3D2", OnmsFilterFavorite.Page.EVENT));
dao.save(createFavorite("mvr", "First Favorite 3", "filter=severity%3D6&filter=node%3D2", OnmsFilterFavorite.Page.EVENT));
dao.save(createFavorite("mvr", "First Favorite 1", "filter=severity%3D6&filter=node%3D2", OnmsFilterFavorite.Page.ALARM));
dao.save(createFavorite("mvr", "First Favorite 2", "filter=severity%3D6&filter=node%3D2", OnmsFilterFavorite.Page.ALARM));
dao.save(createFavorite("mvr", "First Favorite 3", "filter=severity%3D6&filter=node%3D2", OnmsFilterFavorite.Page.ALARM));
}
@Override
public void onShutdown(DatabasePopulator populator, FilterFavoriteDao dao) {
for (OnmsFilterFavorite eachFavorite : dao.findAll()) {
dao.delete(eachFavorite);
}
}
private OnmsFilterFavorite createFavorite(String user, String filterName, String filterCriteria, Page page) {
OnmsFilterFavorite favorite = new OnmsFilterFavorite();
favorite.setName(filterName);
favorite.setFilter(filterCriteria);
favorite.setPage(page);
favorite.setUsername(user);
return favorite;
}
});
populator.populateDatabase();
}
use of org.opennms.netmgt.model.OnmsFilterFavorite.Page in project opennms by OpenNMS.
the class FilterFavoriteServiceIT method verifyXSSPreventionOnRead.
// Due to NMS-9670 there may already be malicious data in the table, verify that we convert that correctly as well
@Test
public void verifyXSSPreventionOnRead() throws FilterFavoriteService.FilterFavoriteException {
for (Page page : Page.values()) {
final OnmsFilterFavorite filterToCreate = createFavoriteObject("ulf", "XSS Read Test " + page.name(), "filter=severity%3D6<script>alert(123);</script>", page);
int filterId = service.getFilterFavoriteDao().save(filterToCreate);
final OnmsFilterFavorite filterRead = service.getFavorite(filterId, "ulf");
Assert.assertEquals("filter=severity=6<script>alert(123);</script>", filterRead.getFilter());
}
}
use of org.opennms.netmgt.model.OnmsFilterFavorite.Page in project opennms by OpenNMS.
the class FilterFavoriteServiceIT method verifyXSSPreventionOnCreate.
@Test
public void verifyXSSPreventionOnCreate() throws FilterFavoriteService.FilterFavoriteException {
final String maliciousName = "test<script>alert(123);</script>";
final String maliciousFilter = "filter=severity=6<script>alert(123);</script>";
for (Page page : Page.values()) {
// try to create malicious favorites
OnmsFilterFavorite favorite = service.createFavorite("ulf", maliciousName, maliciousFilter, page);
// verify that filter name and criteria are not vulnerable to xss
Assert.assertEquals(WebSecurityUtils.sanitizeString(maliciousName), favorite.getName());
Assert.assertEquals(WebSecurityUtils.sanitizeString(maliciousFilter), favorite.getFilter());
}
}
Aggregations