Package org.sonatype.nexus.testsuite.security.nexus1240

Source Code of org.sonatype.nexus.testsuite.security.nexus1240.Nexus1240SourceInLoginResourceIT

/*
* Sonatype Nexus (TM) Open Source Version
* Copyright (c) 2007-2014 Sonatype, Inc.
* All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions.
*
* This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0,
* which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html.
*
* Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
* of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
* Eclipse Foundation. All other trademarks are the property of their respective owners.
*/
package org.sonatype.nexus.testsuite.security.nexus1240;

import java.io.IOException;

import org.sonatype.nexus.integrationtests.AbstractNexusIntegrationTest;
import org.sonatype.nexus.integrationtests.RequestFacade;
import org.sonatype.nexus.integrationtests.TestContainer;
import org.sonatype.nexus.test.utils.XStreamFactory;
import org.sonatype.plexus.rest.representation.XStreamRepresentation;
import org.sonatype.security.rest.model.AuthenticationClientPermissions;
import org.sonatype.security.rest.model.AuthenticationLoginResource;
import org.sonatype.security.rest.model.AuthenticationLoginResourceResponse;

import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.restlet.data.MediaType;
import org.restlet.data.Method;
import org.restlet.data.Response;

public class Nexus1240SourceInLoginResourceIT
    extends AbstractNexusIntegrationTest
{
  @BeforeClass
  public static void setSecureTest() {
    TestContainer.getInstance().getTestContext().setSecureTest(true);
  }

  @Test
  public void sourceInLoginResourceTest() throws IOException {
    AuthenticationClientPermissions clientPermissions = this.getPermissions();

    Assert.assertEquals(clientPermissions.getLoggedInUserSource(), "default");
  }

  private AuthenticationClientPermissions getPermissions()
      throws IOException
  {
    Response response = RequestFacade
        .sendMessage(RequestFacade.SERVICE_LOCAL + "authentication/login", Method.GET);

    Assert.assertTrue("Status: " + response.getStatus(), response.getStatus().isSuccess());

    String responseText = response.getEntity().getText();

    XStreamRepresentation representation = new XStreamRepresentation(
        XStreamFactory.getXmlXStream(),
        responseText,
        MediaType.APPLICATION_XML);

    AuthenticationLoginResourceResponse resourceResponse = (AuthenticationLoginResourceResponse) representation
        .getPayload(new AuthenticationLoginResourceResponse());

    AuthenticationLoginResource resource = resourceResponse.getData();

    return resource.getClientPermissions();
  }

}
TOP

Related Classes of org.sonatype.nexus.testsuite.security.nexus1240.Nexus1240SourceInLoginResourceIT

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.