### Question:
AuthorizationServiceImpl implements AuthorizationService, PostConstruct { @Override public AzResult getAuthorizationDecision( final AzSubject subject, final AzResource resource, final AzAction action) { checkServiceAvailability(); if ( null == subject ) { throw new IllegalArgumentException(localStrings.getLocalString("service.subject_null", "The supplied Subject is null.")); } if ( null == resource ) { throw new IllegalArgumentException(localStrings.getLocalString("service.resource_null", "The supplied Resource is null.")); } final AzEnvironment env = new AzEnvironmentImpl(); final Attributes attrs = securityContextService.getEnvironmentAttributes(); for (String attrName : attrs.getAttributeNames()) { env.addAttribute(attrName, attrs.getAttributeValue(attrName), true); } AzResult result = provider.getAuthorizationDecision( subject, resource, action, env, attributeResolvers ); if ( isDebug() ) { logger.log(DEBUG_LEVEL, "Authorization Service result for {0} was {1}.", new String[]{ subject.toString(), result.toString() } ); } return result; }  @Override void initialize(final SecurityConfiguration securityServiceConfiguration); @Override boolean isPermissionGranted(
        final Subject subject, final Permission permission); @Override boolean isAuthorized(Subject subject, URI resource); @Override boolean isAuthorized(final Subject subject, final URI resource, final String action); @Override AzResult getAuthorizationDecision(
            final AzSubject subject,
            final AzResource resource,
            final AzAction action); @Override AzSubject makeAzSubject(final Subject subject); @Override AzResource makeAzResource(final URI resource); @Override AzAction makeAzAction(final String action); @Override PolicyDeploymentContext findOrCreateDeploymentContext(
            final String appContext); @Override void postConstruct(); @Override boolean appendAttributeResolver(AzAttributeResolver resolver); @Override void setAttributeResolvers(List<AzAttributeResolver> resolverList); @Override List<AzAttributeResolver> getAttributeResolvers(); @Override boolean removeAllAttributeResolvers();  }### Answer:
@Test public void testGetAuthorizationDecision() throws Exception { assertSame( "NOT_INITIALIZED", NOT_INITIALIZED, impl.getInitializationState() ); try { impl.getAuthorizationDecision( new AzSubjectImpl( new Subject() ), new AzResourceImpl( new URI( "admin: new AzActionImpl( "update" ) ); fail( "Expected fail not initialized." ); } catch ( RuntimeException e ) { } assertSame("NOT_INITIALIZED", NOT_INITIALIZED, impl.getInitializationState()); assertNotNull( "getReasonInitializationFailed", impl.getReasonInitializationFailed() ); }