/******************************************************************************* * Copyright (c) 2010-2014 SAP AG and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * SAP AG - initial API and implementation *******************************************************************************/ package org.eclipse.skalli.core.permit; import static org.junit.Assert.*; import org.eclipse.skalli.commons.CollectionUtils; import org.eclipse.skalli.services.permit.Permit; import org.eclipse.skalli.testutil.TestUUIDs; import org.junit.Test; @SuppressWarnings("nls") public class PermitConfigTest { @Test public void testProperties() throws Exception { PermitConfig config = new PermitConfig(); assertNull(config.getUuid()); assertNull(config.getType()); assertNull(config.getAction()); assertNull(config.getOwner()); assertNull(config.getPath()); assertEquals(0, config.getLevel()); assertEquals(0, config.getPos()); assertFalse(config.isOverride()); config.setUuid(TestUUIDs.TEST_UUIDS[0]); assertEquals(TestUUIDs.TEST_UUIDS[0], config.getUuid()); config.setType(PermitsConfig.GROUP_PERMIT); assertEquals(PermitsConfig.GROUP_PERMIT, config.getType()); config.setAction(Permit.ACTION_GET); assertEquals(Permit.ACTION_GET, config.getAction()); config.setOwner("hugo"); assertEquals("hugo", config.getOwner()); config.setPath("/projects/${project}"); assertEquals("/projects/${project}", config.getPath()); config.setLevel(1); assertEquals(1, config.getLevel()); config.setOverride(true); assertTrue(config.isOverride()); Permit permit = config.asPermit(); assertEquals(Permit.ACTION_GET, permit.getAction()); assertEquals("/projects/${project}", permit.getPath()); assertEquals(1, config.getLevel()); permit = config.asPermit(CollectionUtils.asMap("project", "skalli")); assertEquals("/projects/skalli", permit.getPath()); } @Test public void testEquals() throws Exception { PermitConfig config1 = new PermitConfig(); PermitConfig config2 = new PermitConfig(); config1.setUuid(TestUUIDs.TEST_UUIDS[0]); config2.setUuid(TestUUIDs.TEST_UUIDS[0]); assertEquals(config1, config2); assertEquals(config2, config1); assertFalse(config1.equals(null)); assertFalse(config1.equals(TestUUIDs.TEST_UUIDS[0])); config2.setUuid(TestUUIDs.TEST_UUIDS[1]); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config1.setUuid(null); config2.setUuid(null); config1.setType(PermitsConfig.GROUP_PERMIT); config2.setType(PermitsConfig.GROUP_PERMIT); assertEquals(config1, config2); assertEquals(config2, config1); config2.setType(PermitsConfig.ROLE_PERMIT); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setType(null); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setType(PermitsConfig.GROUP_PERMIT); config1.setAction(Permit.ACTION_GET); config2.setAction(Permit.ACTION_GET); assertEquals(config1, config2); assertEquals(config2, config1); config2.setAction(Permit.ACTION_PUT); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setAction(null); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setAction(Permit.ACTION_GET); config1.setPath("/"); config2.setPath("/"); assertEquals(config1, config2); assertEquals(config2, config1); config2.setPath("/projects"); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setPath(null); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setPath("/"); config1.setLevel(1); config2.setLevel(1); assertEquals(config1, config2); assertEquals(config2, config1); config2.setLevel(0); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); config2.setLevel(1); config1.setOwner("hugo"); config2.setOwner("hugo"); assertEquals(config1, config2); assertEquals(config2, config1); config2.setOwner("foo"); assertFalse(config1.equals(config2)); assertFalse(config2.equals(config1)); } }