001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006package org.fcrepo.auth.common;
007
008import org.junit.Test;
009import org.junit.runner.RunWith;
010import org.mockito.Mock;
011import org.mockito.junit.MockitoJUnitRunner;
012
013import javax.servlet.http.HttpServletRequest;
014
015import static org.fcrepo.auth.common.DelegateHeaderPrincipalProvider.DELEGATE_HEADER;
016import static org.junit.Assert.assertEquals;
017import static org.junit.Assert.assertNotNull;
018import static org.junit.Assert.assertNull;
019import static org.mockito.Mockito.when;
020
021/**
022 * @author awoods
023 * @since 10/31/15
024 */
025@RunWith(MockitoJUnitRunner.class)
026public class DelegateHeaderPrincipalProviderTest {
027
028    private final DelegateHeaderPrincipalProvider provider = new DelegateHeaderPrincipalProvider();
029
030    @Mock
031    private HttpServletRequest request;
032
033    @Test
034    public void testGetDelegate0() {
035        when(request.getHeader(DELEGATE_HEADER)).thenReturn(null);
036        assertNull("No delegates should return null", provider.getDelegate(request));
037    }
038
039    @Test
040    public void testGetDelegate1() {
041        final String user = "user1";
042        when(request.getHeader(DELEGATE_HEADER)).thenReturn(user);
043        assertNotNull("Should be a delegate!", provider.getDelegate(request));
044        assertEquals(user, provider.getDelegate(request).getName());
045    }
046}