/* * Copyright (C) 2014 Toshiaki Maki * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package am.ik.categolj2.api.user; import am.ik.categolj2.domain.model.Role; import am.ik.categolj2.domain.model.User; import com.google.common.collect.Sets; import org.dozer.DozerBeanMapper; import org.dozer.Mapper; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.core.io.ClassPathResource; import java.util.*; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public class RoleToRoleIdConverterTest { Mapper mapper = new DozerBeanMapper( Arrays.asList("dozer/global-mapping.xml", "dozer/api-mapping.xml")); @After public void tearDown() throws Exception { } @Test public void testConvertTo() throws Exception { User user = new User(); Set<Role> roles = Sets.newHashSet(new Role(1), new Role(2)); user.setRoles(roles); UserResource userResource = mapper.map(user, UserResource.class); assertThat(userResource.getRoles(), is(Arrays.asList(1, 2))); } @Test public void testConvertFrom() throws Exception { UserResource userResource = new UserResource(); userResource.setRoles(Arrays.asList(1, 2)); User user = mapper.map(userResource, User.class); List<Integer> roles = new ArrayList<>(); for (Role role : user.getRoles()) { roles.add(role.getId()); } Collections.sort(roles); assertThat(roles, is(userResource.getRoles())); } @Test public void testConvertFrom_forUpdate() throws Exception { UserResource userResource = new UserResource(); userResource.setRoles(new ArrayList(Arrays.asList(1, 2))); User user = new User(); Set<Role> roles = new LinkedHashSet<>(); { Role role = new Role(1); role.setRoleName("ROLE_ADMIN"); roles.add(role); } { Role role = new Role(2); role.setRoleName("ROLE_USER"); roles.add(role); } user.setRoles(roles); System.out.println(user.getRoles().hashCode()); mapper.map(userResource, user); System.out.println(user.getRoles().hashCode()); System.out.println(user.getRoles()); } }