/* * $Id$ * * Copyright 2007 Glencoe Software, Inc. All rights reserved. * Use is subject to license terms supplied in LICENSE.txt */ package ome.services.blitz.test.utests; import static ome.model.internal.Permissions.Role.*; import static ome.model.internal.Permissions.Right.*; import static ome.model.internal.Permissions.Flag.*; import junit.framework.TestCase; import ome.model.internal.Permissions; import ome.util.Utils; import omero.model.PermissionsI; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @Test(groups = "ticket:685") public class PermissionsITest extends TestCase { Permissions p; PermissionsI pI; @BeforeMethod public void configure() throws Exception { p = new Permissions(); pI = new PermissionsI(); pI.setPerm1( (Long) Utils.internalForm(p) ); verify(p,pI); } public void testPermissionsDefault() throws Exception { pI = new PermissionsI(); assertFalse(pI.isUserRead()); assertFalse(pI.isUserAnnotate()); assertFalse(pI.isUserWrite()); assertFalse(pI.isGroupRead()); assertFalse(pI.isGroupAnnotate()); assertFalse(pI.isGroupWrite()); assertFalse(pI.isWorldRead()); assertFalse(pI.isWorldAnnotate()); assertFalse(pI.isWorldWrite()); } public void testPermissionsUserRead() throws Exception { p.grant(USER, READ); pI.setUserRead(true); verify(p,pI); p.revoke(USER, READ); pI.setUserRead(false); verify(p,pI); } public void testPermissionsUserAnnotate() throws Exception { p.grant(USER, ANNOTATE); pI.setUserAnnotate(true); verify(p,pI); p.revoke(USER, ANNOTATE); pI.setUserAnnotate(false); verify(p,pI); } public void testPermissionsUserWrite() throws Exception { p.grant(USER, WRITE); pI.setUserWrite(true); verify(p,pI); p.revoke(USER, WRITE); pI.setUserWrite(false); verify(p,pI); } public void testPermissionsGroupRead() throws Exception { p.grant(GROUP, READ); pI.setGroupRead(true); verify(p,pI); p.revoke(GROUP, READ); pI.setGroupRead(false); verify(p,pI); } public void testPermissionsGroupAnnotate() throws Exception { p.grant(GROUP, ANNOTATE); pI.setGroupAnnotate(true); verify(p,pI); p.revoke(GROUP, ANNOTATE); pI.setGroupAnnotate(false); verify(p,pI); } public void testPermissionsGroupWrite() throws Exception { p.grant(GROUP, WRITE); pI.setGroupWrite(true); verify(p,pI); p.revoke(GROUP, WRITE); pI.setGroupWrite(false); verify(p,pI); } public void testPermissionsWorldRead() throws Exception { p.grant(WORLD, READ); pI.setWorldRead(true); verify(p,pI); p.revoke(WORLD, READ); pI.setWorldRead(false); verify(p,pI); } public void testPermissionsWorldAnnotate() throws Exception { p.grant(WORLD, ANNOTATE); pI.setWorldAnnotate(true); verify(p,pI); p.revoke(WORLD, ANNOTATE); pI.setWorldAnnotate(false); verify(p,pI); } public void testPermissionsWorldWrite() throws Exception { p.grant(WORLD, WRITE); pI.setWorldWrite(true); verify(p,pI); p.revoke(WORLD, WRITE); pI.setWorldWrite(false); verify(p,pI); } void verify(Permissions p, PermissionsI pI) { assertEquals(p.isGranted(USER, READ), pI.isUserRead()); assertEquals(p.isGranted(USER, ANNOTATE), pI.isUserAnnotate()); assertEquals(p.isGranted(USER, WRITE), pI.isUserWrite()); assertEquals(p.isGranted(GROUP, READ), pI.isGroupRead()); assertEquals(p.isGranted(GROUP, ANNOTATE), pI.isGroupAnnotate()); assertEquals(p.isGranted(GROUP, WRITE), pI.isGroupWrite()); assertEquals(p.isGranted(WORLD, READ), pI.isWorldRead()); assertEquals(p.isGranted(WORLD, ANNOTATE), pI.isWorldAnnotate()); assertEquals(p.isGranted(WORLD, WRITE), pI.isWorldWrite()); } }