/* * Copyright 2002 - 2013 Pentaho Corporation. All rights reserved. * * This software was developed by Pentaho Corporation and is provided under the terms * of the Mozilla Public License, Version 1.1, 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://www.mozilla.org/MPL/MPL-1.1.txt. TThe Initial Developer is Pentaho Corporation. * * 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 org.pentaho.platform.web.http.api.resources; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.pentaho.platform.web.http.api.resources.services.UserConsoleService; import javax.ws.rs.core.Response; import static org.mockito.Mockito.*; import static org.junit.Assert.*; public class UserConsoleResourceTest { UserConsoleResource userConsoleResource; @Before public void setup() { // Bypass constructor by using mock instead of spy userConsoleResource = mock( UserConsoleResource.class ); doCallRealMethod().when( userConsoleResource ).isAdministrator(); doCallRealMethod().when( userConsoleResource ).isAuthenticated(); userConsoleResource.userConsoleService = mock( UserConsoleService.class ); } @After public void teardown() { userConsoleResource = null; } @Test public void testIsAdministrator() { boolean isAdministrator = true; doReturn( isAdministrator ).when( userConsoleResource.userConsoleService ).isAdministrator(); Response mockResponse = mock( Response.class ); doReturn( mockResponse ).when( userConsoleResource ).buildOkResponse( String.valueOf( isAdministrator ) ); Response testResponse = userConsoleResource.isAdministrator(); assertEquals( mockResponse, testResponse ); verify( userConsoleResource.userConsoleService, times( 1 ) ).isAdministrator(); verify( userConsoleResource, times( 1 ) ).buildOkResponse( String.valueOf( isAdministrator ) ); } @Test public void testIsAuthenticated() { boolean isAuthenticated = true; doReturn( isAuthenticated ).when( userConsoleResource.userConsoleService ).isAuthenticated(); Response mockResponse = mock( Response.class ); doReturn( mockResponse ).when( userConsoleResource ).buildOkResponse( String.valueOf( isAuthenticated ) ); Response testResponse = userConsoleResource.isAuthenticated(); assertEquals( mockResponse, testResponse ); verify( userConsoleResource.userConsoleService, times( 1 ) ).isAuthenticated(); verify( userConsoleResource, times( 1 ) ).buildOkResponse( String.valueOf( isAuthenticated ) ); } }