/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.provider.permission.impl; import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertTrue; import org.apache.shiro.authz.AuthorizationException; import org.apache.shiro.authz.UnauthenticatedException; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.opengamma.provider.permission.PermissionCheckProviderResult; import com.opengamma.util.test.TestGroup; /** * Test. */ @Test(groups = TestGroup.UNIT) public class PermissionCheckProviderResultTest { @Test public void isPermitted() { ImmutableMap<String, Boolean> checked = ImmutableMap.of("Data:12345", Boolean.FALSE, "Data:67890", Boolean.TRUE); PermissionCheckProviderResult result = PermissionCheckProviderResult.of(checked); assertFalse(result.isPermitted("Data:12345")); assertTrue(result.isPermitted("Data:67890")); assertFalse(result.isPermittedAll(ImmutableList.of("Data:12345"))); assertTrue(result.isPermittedAll(ImmutableList.of("Data:67890"))); assertFalse(result.isPermittedAll(ImmutableList.of("Data:12345", "Data:67890"))); } //------------------------------------------------------------------------- @Test public void isPermittedUnauthenticated() { PermissionCheckProviderResult result = PermissionCheckProviderResult.ofAuthenticationError("Not authenticated"); assertFalse(result.isPermitted("Data:12345")); assertFalse(result.isPermittedAll(ImmutableList.of("Data:12345"))); } @Test(expectedExceptions = UnauthenticatedException.class) public void checkPermittedUnauthenticated() { PermissionCheckProviderResult result = PermissionCheckProviderResult.ofAuthenticationError("Not authenticated"); result.checkPermitted("Data:12345"); } @Test(expectedExceptions = UnauthenticatedException.class) public void checkErrorsUnauthenticated() { PermissionCheckProviderResult result = PermissionCheckProviderResult.ofAuthenticationError("Not authenticated"); result.checkErrors(); } //------------------------------------------------------------------------- @Test public void isPermittedUnauthorized() { PermissionCheckProviderResult result = PermissionCheckProviderResult.ofAuthorizationError("Not authorized"); assertFalse(result.isPermitted("Data:12345")); assertFalse(result.isPermittedAll(ImmutableList.of("Data:12345"))); } @Test(expectedExceptions = AuthorizationException.class) public void checkPermittedUnauthorized() { PermissionCheckProviderResult result = PermissionCheckProviderResult.ofAuthorizationError("Not authorized"); result.checkPermitted("Data:12345"); } @Test(expectedExceptions = AuthorizationException.class) public void checkErrorsUnauthorized() { PermissionCheckProviderResult result = PermissionCheckProviderResult.ofAuthorizationError("Not authorized"); result.checkErrors(); } }