package io.robe.admin.resources; import io.robe.admin.hibernate.dao.RoleDao; import io.robe.admin.hibernate.entity.Role; import io.robe.hibernate.RobeHibernateBundle; import io.robe.test.request.TestRequest; import io.robe.test.request.TestResponse; import org.hibernate.SessionFactory; import org.hibernate.context.internal.ManagedSessionContext; import org.junit.Assert; import org.junit.Test; import java.io.IOException; import java.util.Map; /** * Created by hasanmumin on 03/10/16. */ public class RoleResourceTest extends BaseResourceTest<Role> { @Override public String getPath() { return "roles"; } @Override public Class<Role> getClazz() { return Role.class; } @Override public void assertEquals(Role model, Role response) { Assert.assertEquals(model.getName(), response.getName()); Assert.assertEquals(model.getCode(), response.getCode()); } @Override public void assertEquals(Role mergeInstance, Role original, Role response) { Assert.assertEquals(mergeInstance.getName(), response.getName()); Assert.assertEquals(original.getCode(), response.getCode()); } @Override public Role instance() { Role role = new Role(); role.setCode("CODE"); role.setName("Name"); return role; } @Override public Role update(Role response) { response.setName("Name-1"); return response; } @Override public Role mergeInstance() { Role role = new Role(); role.setName("Name-2"); return role; } @Test public void getRolePermissions() throws IOException { SessionFactory sessionFactory = RobeHibernateBundle.getInstance().getSessionFactory(); ManagedSessionContext.bind(sessionFactory.openSession()); RoleDao roleDao = new RoleDao(sessionFactory); Role role = roleDao.findByCode("all"); Assert.assertTrue(role != null); TestRequest request = getRequestBuilder().endpoint(role.getId() + "/permissions").build(); TestResponse response = client.get(request); Map result = response.get(Map.class); Assert.assertTrue(result.get("menu") != null); Assert.assertTrue(result.get("service") != null); ManagedSessionContext.unbind(sessionFactory); } }