001/* 002 * Licensed to DuraSpace under one or more contributor license agreements. 003 * See the NOTICE file distributed with this work for additional information 004 * regarding copyright ownership. 005 * 006 * DuraSpace licenses this file to you under the Apache License, 007 * Version 2.0 (the "License"); you may not use this file except in 008 * compliance with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018package org.fcrepo.auth.common; 019 020import org.junit.Before; 021import org.junit.Test; 022import org.junit.runner.RunWith; 023import org.mockito.Mock; 024import org.mockito.runners.MockitoJUnitRunner; 025import org.modeshape.jcr.api.ServletCredentials; 026 027import javax.servlet.http.HttpServletRequest; 028 029import static org.fcrepo.auth.common.DelegateHeaderPrincipalProvider.DELEGATE_HEADER; 030import static org.junit.Assert.assertEquals; 031import static org.junit.Assert.assertNotNull; 032import static org.junit.Assert.assertNull; 033import static org.mockito.Mockito.when; 034 035/** 036 * @author awoods 037 * @since 10/31/15 038 */ 039@RunWith(MockitoJUnitRunner.class) 040public class DelegateHeaderPrincipalProviderTest { 041 042 private final DelegateHeaderPrincipalProvider provider = new DelegateHeaderPrincipalProvider(); 043 044 @Mock 045 private ServletCredentials credentials; 046 047 @Mock 048 private HttpServletRequest request; 049 050 @Before 051 public void setUp() { 052 when(credentials.getRequest()).thenReturn(request); 053 } 054 055 @Test 056 public void testGetDelegate0() { 057 when(request.getHeader(DELEGATE_HEADER)).thenReturn(null); 058 assertNull("No delegates should return null", provider.getDelegate(credentials)); 059 } 060 061 @Test 062 public void testGetDelegate1() { 063 final String user = "user1"; 064 when(request.getHeader(DELEGATE_HEADER)).thenReturn(user); 065 assertNotNull("Should be a delegate!", provider.getDelegate(credentials)); 066 assertEquals(user, provider.getDelegate(credentials).getName()); 067 } 068}