Package com.openshift.client.utils

Source Code of com.openshift.client.utils.QuickstartTestUtils

/*******************************************************************************
* Copyright (c) 2014 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package com.openshift.client.utils;

import static org.fest.assertions.Assertions.assertThat;

import java.util.ArrayList;
import java.util.List;

import org.jboss.dmr.ModelNode;

import com.openshift.client.IQuickstart;
import com.openshift.client.cartridge.query.ICartridgeQuery;
import com.openshift.internal.client.response.QuickstartDTO;
import com.openshift.internal.client.response.QuickstartJsonDTOFactory;
import com.openshift.internal.client.response.RestResponse;

/**
* @author André Dietisheim
*/
public class QuickstartTestUtils {

  public static final String AEROGEAR_PUSH_0X = "AeroGear Push 0.X";
  public static final String CACTI = "Cacti";
  public static final String CAKEPHP = "CakePHP";
  public static final String CAPEDWARF = "CapeDwarf";
  public static final String CARTRIDGE_DEVELELOPMENT_KIT = "Cartridge Development Kit";
  public static final String DJANGO = "Django";
  public static final String DRUPAL_8 = "Drupal 8";
  public static final String GO_LANGUAGE = "Go Language";
  public static final String JBOSS_FUSE_61 = "JBoss Fuse 6.1";
  public static final String LARAVEL_41 = "Laravel 4.1 Quickstart";
  public static final String REVEALJS = "Reveal.js";
  public static final String RUBY_ON_RAILS = "Ruby on Rails";
  public static final String TEXTPRESS = "TextPress";
  public static final String WILDFLY_8 = "WildFly 8";
  public static final String WORDPRESS_3X = "WordPress 3.x";

  public static String createQuickstartsJsonForCartridgeSpec(String... cartridgesSpecs) {
    List<ModelNode> quickstartNodes = new ArrayList<ModelNode>();
    for (String cartridgesSpec : cartridgesSpecs) {
      quickstartNodes.add(new ModelNode().set("cartridges", cartridgesSpec));
    }
    return createQuickstartJson(quickstartNodes.toArray(new ModelNode[quickstartNodes.size()]));
  }

  public static String createQuickstartsJsonForCartridgeSpec(ModelNode cartridges) {
    return createQuickstartJson(new ModelNode().set("cartridges", cartridges));
  }
 
  public static String createQuickstartJsonForTags(String tags) {
    return createQuickstartJson(new ModelNode().set("tags", tags));
  }

  public static String createQuickstartJsonForTags(ModelNode tags) {
    return createQuickstartJson(new ModelNode().set("tags", tags));
  }

  public static String createQuickstartJson(ModelNode... quickstarts) {
    ModelNode quickstartsNode = new ModelNode();
    for (ModelNode quickstart : quickstarts) {
      quickstartsNode.add(new ModelNode().set("quickstart", quickstart));
    }
    ModelNode rootNode = new ModelNode().set("data", quickstartsNode);
    return rootNode.toJSONString(false);
  }

  public static List<ICartridgeQuery> getCartridgeQueriesForSingleQuickstart(String quickstartsJson) {
    List<QuickstartDTO> quickstartDTOs = getQuickstartDTOs(quickstartsJson);
    assertThat(quickstartDTOs).hasSize(1);

    return quickstartDTOs.get(0).getCartridges();
  }

  public static List<QuickstartDTO> getQuickstartDTOs(String quickstartsJson) {
    RestResponse restResponse = new QuickstartJsonDTOFactory().get(quickstartsJson);

    assertThat(restResponse).isNotNull();
    assertThat(restResponse.getData()).isInstanceOf(List.class);

    return restResponse.getData();
  }

  public static QuickstartDTO getFirstQuickstartDTO(String quickstartsJson) {
    List<QuickstartDTO> quickstartDTOs = getQuickstartDTOs(quickstartsJson);
    assertThat(quickstartDTOs).isNotEmpty();
   
    return quickstartDTOs.get(0);
  }

  public static IQuickstart getByName(String name, List<IQuickstart> quickstarts) {
    IQuickstart matchingQuickstart = null;
    for (IQuickstart quickstart : quickstarts) {
      if (name.equals(quickstart.getName())) {
        matchingQuickstart = quickstart;
        break;
      }
    }
    return matchingQuickstart;
  }

}
TOP

Related Classes of com.openshift.client.utils.QuickstartTestUtils

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.