Package com.griddynamics.genesis.test.steps.projectroles

Source Code of com.griddynamics.genesis.test.steps.projectroles.ProjectRoleDetailsStepsImplementation

package com.griddynamics.genesis.test.steps.projectroles;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

import org.jbehave.core.annotations.Aliases;
import org.jbehave.core.annotations.Named;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import org.testng.Assert;

import com.griddynamics.genesis.tools.CommonTools;
import com.griddynamics.genesis.tools.projectroles.ProjectRoleDetails;
import com.griddynamics.genesis.tools.projectroles.ProjectRoleDetailsResponse;

public class ProjectRoleDetailsStepsImplementation extends ProjectRoleSharedSources {
 
  private static ProjectRoleDetailsResponse roleDetailsResponse;

  @When("I send request to view project role with name <roleName> in project <projectName>")
  @Aliases(values={"I send request to view project role with name $roleName in project $projectName"})
  public static void whenISendViewProjectRoleRequest(@Named("roleName") String name, @Named("projectName") String projectName) {
    int id=getProjectIdByProjectName(projectName);

    request.setUrl(String.format(PROJECT_ROLE_DETAILS_PATH,id,name));
    request.get();
    roleDetailsResponse = request.getResponseObject(ProjectRoleDetailsResponse.class);

    actProjectRole=roleDetailsResponse.result;
  }

  @Then("I expect that project role has users <users> and groups <groups>")
  @Aliases(values={"I expect that role has users $users and groups $groups"})
  public void thenIExpectFullProjectRoleDetails(@Named("users") String users, @Named("groups") String groups) {
    expProjectRole = new ProjectRoleDetails(CommonTools.processStringValue(users), CommonTools.processStringValue(groups));
    Assert.assertEquals(expProjectRole, actProjectRole);
  }

  @Then("I expect that project role has users <users>")
  @Aliases(values={"I expect that project role has users $users"})
  public static void thenIExpectUsersInProjectRole(@Named("users") String users) {
    Set<String> actUsersList=new HashSet<String>(Arrays.asList(actProjectRole.users));
    String[] expectedUsers=CommonTools.processStringValue(users);
    Set<String> expUsersList=new HashSet<String>(Arrays.asList(expectedUsers));
    Assert.assertEquals(actUsersList, expUsersList);
  }

  @Then("I expect that project role has groups <groups>")
    @Aliases(values={"I expect that project role has groups $groups"})
  public void thenIExpectGroupsInProjectRole(@Named("groups") String groups) {
    Set<String> actGroupsList=new HashSet<String>(Arrays.asList(actProjectRole.groups));
    String[] expectedGroups=CommonTools.processStringValue(groups);
    Set<String> expGroupsList=new HashSet<String>(Arrays.asList(expectedGroups));
    Assert.assertEquals(actGroupsList, expGroupsList);
  }

}
TOP

Related Classes of com.griddynamics.genesis.test.steps.projectroles.ProjectRoleDetailsStepsImplementation

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.