Package edu.wpi.cs.wpisuitetng.authentication

Source Code of edu.wpi.cs.wpisuitetng.authentication.BasicAuthTest

/*******************************************************************************
* Copyright (c) 2012 -- WPI Suite
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*    twack
*******************************************************************************/

package edu.wpi.cs.wpisuitetng.authentication;

import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

import edu.wpi.cs.wpisuitetng.authentication.BasicAuth;
import edu.wpi.cs.wpisuitetng.exceptions.AuthenticationException;

import org.apache.commons.codec.binary.Base64;

public class BasicAuthTest {
  String header = "Authorization: Basic "; // the static BasicAuth header
  BasicAuth basic;
 
  @Before
  public void setUp()
  {
    this.basic = new BasicAuth();
  }
 
 
  @Test(expected=AuthenticationException.class)
  /**
   * When given an improperly formatted POST-string (not in 3 parts)
   *   then expect an exception
   * @throws AuthenticationException
   */
  public void testInvalidTokenFormat() throws AuthenticationException
  {
    this.basic.parsePost("bahston");
  }
 
  @Test(expected=AuthenticationException.class)
  /**
   * Generates a valid BasicAuth token with invalidly formatted
   *   credentials. Decoding should work properly. An exception should
   *   raise because the credential string is not in the  "String:String" format.
   */
  public void testInvalidCredentialFormat() throws AuthenticationException
  {
    String authToken = "Basic ";
    String credentials = "abcdefg123456";
    authToken += Base64.encodeBase64String(credentials.getBytes());
   
    this.basic.parsePost(authToken);
  }
 
  @Test
  /**
   * Tests a situation when a valid BasicAuth token is given
   *   to the POST string parser.
   * @throws AuthenticationException
   */
  public void testValidFormat() throws AuthenticationException
  {
    String username = "twack";
    String pass = "12345";
   
    String basicAuthToken = BasicAuth.generateBasicAuth(username, pass);
    String[] credentials = this.basic.parsePost(basicAuthToken);
   
    assertEquals(credentials.length, 2);
    assertTrue(credentials[0].equals(username));
    assertTrue(credentials[1].equals(pass));
  }
 
 
}
TOP

Related Classes of edu.wpi.cs.wpisuitetng.authentication.BasicAuthTest

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.