Search in sources :

Example 6 with Folder

use of org.talend.dataprep.qa.dto.Folder in project data-prep by Talend.

the class PreparationStep method givenICreateAPreparation.

@Given("^I create a preparation with name \"(.*)\", based on \"(.*)\" dataset$")
public void givenICreateAPreparation(String prepFullName, String datasetName) throws IOException {
    String suffixedPrepName = getSuffixedPrepName(prepFullName);
    String prepPath = util.extractPathFromFullName(prepFullName);
    Folder prepFolder = folderUtil.searchFolder(prepPath);
    String suffixedDatasetName = (context.getDatasetId(datasetName) == null) ? suffixName(datasetName) : datasetName;
    final String datasetId = context.getDatasetId(suffixedDatasetName);
    if (StringUtils.isBlank(datasetId)) {
        fail("could not find dataset id from name '" + suffixedDatasetName + "' in the context");
    }
    LOGGER.info("I create a preparation with name {}", suffixedPrepName);
    String preparationId = api.createPreparation(datasetId, suffixedPrepName, folderUtil.getAPIFolderRepresentation(prepFolder)).then().statusCode(// 
    OK.value()).extract().body().asString();
    context.storePreparationRef(preparationId, suffixedPrepName, prepFolder.getPath());
}
Also used : Folder(org.talend.dataprep.qa.dto.Folder) Given(cucumber.api.java.en.Given)

Example 7 with Folder

use of org.talend.dataprep.qa.dto.Folder in project data-prep by Talend.

the class OSIntegrationTestUtil method splitFolder.

/**
 * Split a folder in a {@link Set} folder and subfolders.
 *
 * @param folder the folder to split.
 * @param folders existing folders.
 * @return a {@link Set} of folders and subfolders.
 */
public Set<Folder> splitFolder(Folder folder, List<Folder> folders) {
    Set<Folder> ret = new HashSet<>();
    if (folder == null || folder.getPath().equals("/"))
        return ret;
    final Map<String, Folder> folderByPath = new HashMap<>(folders.size());
    folders.forEach(f -> folderByPath.put(f.getPath().substring(1), f));
    String[] folderPaths = folder.getPath().split("/");
    StringBuilder folderBuilder = new StringBuilder();
    Arrays.stream(// 
    folderPaths).filter(// 
    f -> !f.isEmpty() && !f.equals("/")).forEach(f -> {
        // 
        if (folderBuilder.length() > 0) {
            folderBuilder.append("/");
        }
        folderBuilder.append(f);
        Folder tmpF = folderByPath.get(folderBuilder.toString());
        if (tmpF != null) {
            ret.add(tmpF);
        }
    });
    return ret;
}
Also used : Arrays(java.util.Arrays) FeatureContext.suffixName(org.talend.dataprep.qa.config.FeatureContext.suffixName) Set(java.util.Set) Autowired(org.springframework.beans.factory.annotation.Autowired) HashMap(java.util.HashMap) SCOPE(org.talend.dataprep.transformation.actions.common.ImplicitParameters.SCOPE) NotNull(javax.validation.constraints.NotNull) Collectors(java.util.stream.Collectors) StringUtils(org.apache.commons.lang3.StringUtils) FeatureContext(org.talend.dataprep.qa.config.FeatureContext) HashSet(java.util.HashSet) Action(org.talend.dataprep.helper.api.Action) List(java.util.List) Component(org.springframework.stereotype.Component) Map(java.util.Map) Folder(org.talend.dataprep.qa.dto.Folder) HashMap(java.util.HashMap) Folder(org.talend.dataprep.qa.dto.Folder) HashSet(java.util.HashSet)

Example 8 with Folder

use of org.talend.dataprep.qa.dto.Folder in project data-prep by Talend.

the class PreparationStep method movePreparation.

@Then("^I move the preparation \"(.*)\" to \"(.*)\"$")
public void movePreparation(String prepOriginFullName, String prepDestFullName) throws IOException {
    String suffixedPrepOriginName = getSuffixedPrepName(prepOriginFullName);
    String suffixedPrepOriginPath = util.extractPathFromFullName(prepOriginFullName);
    String suffixedPrepOriginId = context.getPreparationId(suffixedPrepOriginName, suffixedPrepOriginPath);
    String suffixedPrepDestName = getSuffixedPrepName(prepDestFullName);
    String prepDestPath = util.extractPathFromFullName(prepDestFullName);
    Folder originFolder = folderUtil.searchFolder(suffixedPrepOriginPath);
    Folder destFolder = folderUtil.searchFolder(prepDestPath);
    Response response = // 
    api.movePreparation(suffixedPrepOriginId, originFolder.id, destFolder.id, suffixedPrepDestName);
    response.then().statusCode(OK.value());
    context.storePreparationMove(suffixedPrepOriginId, suffixedPrepOriginName, originFolder.path, suffixedPrepDestName, destFolder.path);
}
Also used : Response(com.jayway.restassured.response.Response) Folder(org.talend.dataprep.qa.dto.Folder) Then(cucumber.api.java.en.Then)

Example 9 with Folder

use of org.talend.dataprep.qa.dto.Folder in project data-prep by Talend.

the class PreparationStep method copyPreparation.

@Then("^I copy the preparation \"(.*)\" to \"(.*)\"$")
public void copyPreparation(String prepOriginFullName, String prepDestFullName) throws IOException {
    String suffixedPrepOriginName = getSuffixedPrepName(prepOriginFullName);
    String suffixedPrepOriginPath = util.extractPathFromFullName(prepOriginFullName);
    String suffixedPrepDestName = getSuffixedPrepName(prepDestFullName);
    String suffixedPrepDestPath = util.extractPathFromFullName(prepDestFullName);
    Folder destFolder = folderUtil.searchFolder(suffixedPrepDestPath);
    String prepId = context.getPreparationId(suffixedPrepOriginName, suffixedPrepOriginPath);
    String newPreparationId = api.copyPreparation(prepId, destFolder.id, suffixedPrepDestName).then().statusCode(OK.value()).extract().body().asString();
    context.storePreparationRef(newPreparationId, suffixedPrepDestName, destFolder.path);
}
Also used : Folder(org.talend.dataprep.qa.dto.Folder) Then(cucumber.api.java.en.Then)

Example 10 with Folder

use of org.talend.dataprep.qa.dto.Folder in project data-prep by Talend.

the class OSFolderUtil method splitFolder.

@Override
public Set<Folder> splitFolder(Folder folder, List<Folder> folders) {
    Set<Folder> ret = new HashSet<>();
    if (folder == null || folder.getPath().equals("/"))
        return ret;
    final Map<String, Folder> folderByPath = new HashMap<>(folders.size());
    folders.forEach(f -> folderByPath.put(f.getPath().substring(1), f));
    String[] folderPaths = folder.getPath().split("/");
    StringBuilder folderBuilder = new StringBuilder();
    Arrays.stream(// 
    folderPaths).filter(// 
    f -> !f.isEmpty() && !"/".equals(f)).forEach(f -> {
        // 
        if (folderBuilder.length() > 0) {
            folderBuilder.append("/");
        }
        folderBuilder.append(f);
        Folder tmpF = folderByPath.get(folderBuilder.toString());
        if (tmpF != null) {
            ret.add(tmpF);
        }
    });
    return ret;
}
Also used : Arrays(java.util.Arrays) SortedSet(java.util.SortedSet) OSDataPrepAPIHelper(org.talend.dataprep.helper.OSDataPrepAPIHelper) FolderContent(org.talend.dataprep.qa.dto.FolderContent) Collection(java.util.Collection) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) Autowired(org.springframework.beans.factory.annotation.Autowired) Set(java.util.Set) IOException(java.io.IOException) HashMap(java.util.HashMap) Response(com.jayway.restassured.response.Response) StandardCharsets(java.nio.charset.StandardCharsets) TreeSet(java.util.TreeSet) HashSet(java.util.HashSet) IOUtils(org.apache.commons.io.IOUtils) Component(org.springframework.stereotype.Component) List(java.util.List) Folder(org.talend.dataprep.qa.dto.Folder) Map(java.util.Map) Optional(java.util.Optional) TypeReference(com.fasterxml.jackson.core.type.TypeReference) HashMap(java.util.HashMap) Folder(org.talend.dataprep.qa.dto.Folder) HashSet(java.util.HashSet)

Aggregations

Folder (org.talend.dataprep.qa.dto.Folder)10 Response (com.jayway.restassured.response.Response)6 Then (cucumber.api.java.en.Then)6 HashMap (java.util.HashMap)4 List (java.util.List)4 Map (java.util.Map)4 Given (cucumber.api.java.en.Given)3 IOException (java.io.IOException)3 Collectors (java.util.stream.Collectors)3 NotNull (javax.validation.constraints.NotNull)3 StringUtils (org.apache.commons.lang3.StringUtils)3 Action (org.talend.dataprep.helper.api.Action)3 FeatureContext.suffixName (org.talend.dataprep.qa.config.FeatureContext.suffixName)3 FolderContent (org.talend.dataprep.qa.dto.FolderContent)3 DataTable (cucumber.api.DataTable)2 And (cucumber.api.java.en.And)2 When (cucumber.api.java.en.When)2 InputStream (java.io.InputStream)2 Arrays (java.util.Arrays)2 HashSet (java.util.HashSet)2