Package pt.webdetails.cdf.dd.reader.factory

Source Code of pt.webdetails.cdf.dd.reader.factory.SystemResourceLoaderTest

/*!
* Copyright 2002 - 2014 Webdetails, a Pentaho company.  All rights reserved.
*
* This software was developed by Webdetails and is provided under the terms
* of the Mozilla Public License, Version 2.0, or any later version. You may not use
* this file except in compliance with the license. If you need a copy of the license,
* please go to  http://mozilla.org/MPL/2.0/. The Initial Developer is Webdetails.
*
* Software distributed under the Mozilla Public License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or  implied. Please refer to
* the license for the specific language governing your rights and limitations.
*/

package pt.webdetails.cdf.dd.reader.factory;

import junit.framework.Assert;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import pt.webdetails.cpf.repository.api.FileAccess;
import pt.webdetails.cpf.repository.api.IACAccess;

public class SystemResourceLoaderTest {

  private static SystemResourceLoader mockLoader;
  private IACAccess mockAccess = null;

  @Before
  public void setUp() throws Exception {
    mockLoader = Mockito.mock( SystemResourceLoader.class );
  }

  @After
  public void tearDown() throws Exception {
    mockLoader = null;
    mockAccess = null;
  }

  @Test
  public void testSystemResourceLoaderIsAdmin() {

    final boolean isAdmin = true;

    mockAccess = new IACAccess() {
      public boolean hasAccess( String file, FileAccess access ) {
        return isAdmin;
      }
    };

    Mockito.when( mockLoader.getAccessControl() ).thenReturn( mockAccess );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.READ ), true );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.WRITE ), true );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.EXECUTE ), true );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.DELETE ), true );

  }

  @Test
  public void testSystemResourceLoaderUserNotAdmin() {

    final boolean isAdmin = false;

    mockAccess = new IACAccess() {
      public boolean hasAccess( String file, FileAccess access ) {
        return isAdmin;
      }
    };

    Mockito.when( mockLoader.getAccessControl() ).thenReturn( mockAccess );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.READ ), false );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.WRITE ), false );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.EXECUTE ), false );
    Assert.assertEquals( mockLoader.getAccessControl().hasAccess( "", FileAccess.DELETE ), false );
  }
























}
TOP

Related Classes of pt.webdetails.cdf.dd.reader.factory.SystemResourceLoaderTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.