/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.bbg.permission; import static org.testng.AssertJUnit.assertNotNull; import static org.testng.AssertJUnit.assertTrue; import org.apache.shiro.authz.UnauthenticatedException; import org.testng.annotations.Test; import com.bloomberglp.blpapi.Identity; import com.google.common.collect.Lists; import com.opengamma.bbg.BloombergConnector; import com.opengamma.bbg.BloombergConstants; import com.opengamma.bbg.SessionProvider; import com.opengamma.bbg.test.BloombergTestUtils; import com.opengamma.util.test.TestGroup; /** * */ @Test(groups = TestGroup.INTEGRATION, enabled = false) public class BloombergBpipeApplicationUserIdentityProviderTest { public void authorizedIdentity() { BloombergConnector connector = BloombergTestUtils.getBloombergBipeConnector(); SessionProvider sessionProvider = new SessionProvider(connector, Lists.newArrayList(BloombergConstants.AUTH_SVC_NAME, BloombergConstants.MKT_DATA_SVC_NAME, BloombergConstants.REF_DATA_SVC_NAME)); sessionProvider.start(); BloombergBpipeApplicationUserIdentityProvider provider = new BloombergBpipeApplicationUserIdentityProvider(sessionProvider); Identity identity = provider.getIdentity(); assertNotNull(identity); assertTrue(identity.isAuthorized(sessionProvider.getService(BloombergConstants.MKT_DATA_SVC_NAME))); assertTrue(identity.isAuthorized(sessionProvider.getService(BloombergConstants.REF_DATA_SVC_NAME))); sessionProvider.stop(); } @Test(expectedExceptions = UnauthenticatedException.class) public void unauthorizedIdentity() { SessionProvider sessionProvider = null; try { BloombergConnector connector = BloombergTestUtils.getBloombergBipeConnector(); connector.getSessionOptions().setAuthenticationOptions(BloombergConstants.AUTH_APP_PREFIX + "UnknownAppName"); sessionProvider = new SessionProvider(connector, Lists.newArrayList(BloombergConstants.AUTH_SVC_NAME, BloombergConstants.MKT_DATA_SVC_NAME, BloombergConstants.REF_DATA_SVC_NAME)); sessionProvider.start(); BloombergBpipeApplicationUserIdentityProvider provider = new BloombergBpipeApplicationUserIdentityProvider(sessionProvider); provider.getIdentity(); } finally { if (sessionProvider != null) { sessionProvider.stop(); } } } }