Package org.apache.continuum.web.test.parent

Source Code of org.apache.continuum.web.test.parent.AbstractBuildAgentsTest

package org.apache.continuum.web.test.parent;

//import org.testng.Assert;
import org.apache.continuum.web.test.ConfigurationTest;

/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*/

public abstract class AbstractBuildAgentsTest
    extends AbstractContinuumTest
{
    public void enableDistributedBuilds()
    {
    ConfigurationTest config = new ConfigurationTest();
      config.goToConfigurationPage();
        setFieldValue( "numberOfAllowedBuildsinParallel", "2" );
        if ( !isChecked( "configuration_distributedBuildEnabled" ) )
        {
            checkField( "configuration_distributedBuildEnabled" );
        }
        clickAndWait( "configuration_" );
        assertTextPresent( "true" );
        assertTextPresent( "Distributed Builds" );
        assertElementPresent( "link=Build Agents" );
    }

    public void disableDistributedBuilds()
    {
        ConfigurationTest config = new ConfigurationTest();
        config.goToConfigurationPage();
        setFieldValue( "numberOfAllowedBuildsinParallel", "2" );
        if ( isChecked( "configuration_distributedBuildEnabled" ) )
        {
            uncheckField( "configuration_distributedBuildEnabled" );
        }
        submit();
        assertTextPresent( "false" );
        assertElementNotPresent( "link=Build Agents" );
    }

  public void goToBuildAgentPage()
    {
    clickAndWait("link=Build Agents");
    assertPage("Continuum - Build Agents");
  }

  public void assertBuildAgentPage()
    {
    assertPage("Continuum - Build Agents");
    assertTextPresent("Build Agents");
    assertTextPresent("Build Agent Groups");
    assertButtonWithValuePresent( "Add" );

    }

  public void goToAddBuildAgent()
    {
    goToBuildAgentPage();
    assertBuildAgentPage();
    clickAndWait("editBuildAgent_0"); //add button
    assertAddEditBuildAgentPage();
    }

  public void assertAddEditBuildAgentPage()
    {
    assertPage( "Continuum - Add/Edit Build Agent" );
        assertTextPresent( "Add/Edit Build Agent" );
        assertTextPresent( "Build Agent URL*:" );
    assertTextPresent( "Description:" );
    assertTextPresent( "Enabled" );
        assertElementPresent( "saveBuildAgent_buildAgent_url" );
    assertElementPresent( "saveBuildAgent_buildAgent_description");
        assertButtonWithValuePresent( "Save" );
        assertButtonWithValuePresent( "Cancel" );
    }

  public void removeBuildAgent( String agentName )
  {
        clickLinkWithXPath( "(//a[contains(@href,'deleteBuildAgent.action') and contains(@href, '" + agentName + "')])//img" );
    assertPage("Continuum - Delete Build Agent");
        assertTextPresent( "Delete Build Agent" );
        assertTextPresent( "Are you sure you want to delete build agent " + agentName + " ?" );
        assertButtonWithValuePresent( "Delete" );
        assertButtonWithValuePresent( "Cancel" );
        clickButtonWithValue( "Delete" );
        assertBuildAgentPage();
    }

  public void addBuildAgent( String agentURL, String description, boolean success )
  {
    setFieldValue( "saveBuildAgent_buildAgent_url", agentURL );
      setFieldValue("saveBuildAgent_buildAgent_description", description );
      checkField("saveBuildAgent_buildAgent_enabled");
    submit();
      if ( success )
      {
          assertBuildAgentPage();
          assertElementPresent( "link=" + agentURL );

      }
      else
      {
          assertAddEditBuildAgentPage();
      }

  }

  public void goToEditBuildAgent( String name, String description )
  {
     goToBuildAgentPage();
     clickImgWithAlt( "Edit" );
     assertAddEditBuildAgentPage();
     assertFieldValue( name, "saveBuildAgent_buildAgent_url" );
     assertFieldValue( description, "saveBuildAgent_buildAgent_description" );

  }

  public void addEditBuildAgent( String agentName, String newDesc )
  {
    assertFieldValue( agentName, "saveBuildAgent_buildAgent_url" );
    setFieldValue( "saveBuildAgent_buildAgent_description", newDesc );
    submit();
    assertBuildAgentPage();
    assertTextPresent( newDesc );

  }


  public void goToAddBuildAgentGroup()
    {
    goToBuildAgentPage();
    clickAndWait("editBuildAgentGroup_0"); //add button
        String[] options =
            new String[] { "--- Available Build Agents ---", "Agent_url_name", "Second_Agent" };
        assertAddEditBuildAgentGroupPage( options, null );
    }


  public void addEditBuildAgentGroup( String name, String[] addBuildAgents, String[] removeBuildAgents,
            boolean success ) throws Exception
  {
    setFieldValue( "saveBuildAgentGroup_buildAgentGroup_name", name );
    if ( addBuildAgents != null && addBuildAgents.length > 0 )
    {
      for ( String ba : addBuildAgents )
      {
        selectValue( "buildAgentIds", ba );
        clickButtonWithValue( "->", false );
      }
    }
    if ( removeBuildAgents != null && removeBuildAgents.length > 0 )
    {
      for ( String ba : removeBuildAgents )
      {
        selectValue( "selectedBuildAgentIds", ba );
        clickButtonWithValue( "<-", false );
      }
    }
    submit();
    if ( success )
    {
      assertBuildAgentPage();
    }
    else
    {
      assertAddEditBuildAgentGroupPage( null, null );
    }


  }

  public void assertAddEditBuildAgentGroupPage( String[] availableBuildAgents, String[] usedBuildAgents )
    {
    assertPage( "Continuum - Add/Edit Build Agent Group" );
        assertTextPresent( "Add/Edit Build Agent Group" );
        assertTextPresent( "Name*:" );
    assertTextPresent( "Configure the used Build Agents:" );
    assertElementPresent( "buildAgentGroup.name" );
    if ( availableBuildAgents != null && availableBuildAgents.length > 0 )
        {
            assertOptionPresent( "buildAgentIds", availableBuildAgents );
        }
        if ( usedBuildAgents != null && usedBuildAgents.length > 0 )
        {
            assertOptionPresent( "selectedBuildAgentIds", usedBuildAgents );
        }

    assertButtonWithValuePresent( "Save" );
        assertButtonWithValuePresent( "Cancel" );
    }

  public void goToEditBuildAgentGroup( String name, String[] buildAgents )
    {
    goToBuildAgentPage();
        String xPath = "//preceding::td[text()='" + name + "']//following::img[@alt='Edit']";
        clickLinkWithXPath( xPath );
        assertAddEditBuildAgentGroupPage( null, buildAgents );
        assertFieldValue( name, "buildAgentGroup.name" );
    }


  public void removeBuildAgentGroup( String name )
  {
    goToBuildAgentPage();
    clickLinkWithXPath( "(//a[contains(@href,'deleteBuildAgentGroup.action') and contains(@href, '" + name + "')])//img" );
    assertPage("Continuum - Delete Build Agent Group");
    assertTextPresent( "Delete Build Agent" );
        assertTextPresent( "Are you sure you want to delete build agent group " + name + " ?" );
        assertButtonWithValuePresent( "Delete" );
        assertButtonWithValuePresent( "Cancel" );
        clickButtonWithValue( "Delete" );
        assertBuildAgentPage();
    }


}
TOP

Related Classes of org.apache.continuum.web.test.parent.AbstractBuildAgentsTest

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.