Package com.openshift.internal.client

Source Code of com.openshift.internal.client.EmbeddableCartridgeTest

/*******************************************************************************
* Copyright (c) 2013 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.internal.client;

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

import java.net.MalformedURLException;
import java.net.URL;

import org.junit.Before;
import org.junit.Test;

import com.openshift.client.IHttpClient;
import com.openshift.client.IOpenShiftConnection;
import com.openshift.client.cartridge.EmbeddableCartridge;
import com.openshift.client.cartridge.ICartridge;
import com.openshift.client.cartridge.IEmbeddableCartridge;
import com.openshift.client.cartridge.StandaloneCartridge;
import com.openshift.client.cartridge.query.CartridgeNameQuery;
import com.openshift.client.cartridge.query.LatestVersionQuery;
import com.openshift.client.utils.CartridgeAssert;
import com.openshift.client.utils.CartridgeTestUtils;
import com.openshift.client.utils.Samples;
import com.openshift.client.utils.TestConnectionBuilder;

/**
* @author Andre Dietisheim
*/
public class EmbeddableCartridgeTest extends TestTimer {

  private IOpenShiftConnection connection;

  @Before
  public void setup() throws Throwable {
    IHttpClient client = new HttpClientMockDirector()
        .mockGetCartridges(Samples.GET_CARTRIDGES)
        .client();
    this.connection = new TestConnectionBuilder().defaultCredentials().create(client);
  }

  @Test
  public void shouldNonDownloadableEqualsNonDownloadable() {
    // pre-coniditions
    // operation
    // verification
    assertThat(new EmbeddableCartridge("redhat"))
        .isEqualTo(new EmbeddableCartridge("redhat"));
    assertThat(new EmbeddableCartridge("redhat"))
        .isNotEqualTo(new EmbeddableCartridge("jboss"));
  }

  @Test
  public void shouldDownloadableEqualsDownloadable() throws MalformedURLException {
    // pre-coniditions
    // operation
    // verification
    assertThat(new EmbeddableCartridge(new URL(CartridgeTestUtils.FOREMAN_URL)))
        .isEqualTo(new EmbeddableCartridge(new URL(CartridgeTestUtils.FOREMAN_URL)));
  }

  @Test
  public void shouldDownloadableWithNonEqualNameEqualsDownloadable() throws MalformedURLException {
    // pre-coniditions
    // operation
    // verification
    assertThat(new EmbeddableCartridge("redhat", new URL(CartridgeTestUtils.FOREMAN_URL)))
        .isEqualTo(new EmbeddableCartridge(null, new URL(CartridgeTestUtils.FOREMAN_URL)));
    // should equal if url is equal, name doesnt matter
    // (name is updated as soon as cartridge is deployed)
    assertThat(new EmbeddableCartridge("jboss", new URL(CartridgeTestUtils.FOREMAN_URL)))
        .isEqualTo(new EmbeddableCartridge("redhat", new URL(CartridgeTestUtils.FOREMAN_URL)));
  }

  @Test
  public void shouldDownloadableStandaloneNotEqualsDownloadableEmbeddable() throws MalformedURLException {
    // pre-coniditions
    // operation
    // verification
    assertThat(new EmbeddableCartridge(null, new URL(CartridgeTestUtils.FOREMAN_URL)))
        .isNotEqualTo(new StandaloneCartridge(null, new URL(CartridgeTestUtils.GO_URL)));
  }

  @Test
  public void shouldHaveNameDisplaynameDescription() throws Throwable {
    // pre-condition
    IEmbeddableCartridge mongoDb = connection.getEmbeddableCartridges().get(0);
    CartridgeAssert<IEmbeddableCartridge> cartridgeAssert = new CartridgeAssert<IEmbeddableCartridge>(mongoDb);

    // operation
    // verifcation
    cartridgeAssert
        .hasName("mongodb-2.2")
        .hasDisplayName("MongoDB NoSQL Database 2.2")
        .hasDescription("MongoDB is a scalable, high-performance, open source NoSQL database.");
  }

  @Test
  public void shouldHaveObsoleteCartridges() throws MalformedURLException {
    // pre-coniditions
    // operation
    ICartridge metrics = new CartridgeNameQuery("metrics").get(connection.getCartridges(true));
    assertThat(metrics).isNotNull();
    ICartridge zend = new CartridgeNameQuery("zend-5.6").get(connection.getCartridges(true));
    assertThat(zend).isNotNull();
    ICartridge php = new LatestVersionQuery("php").get(connection.getCartridges(true));
    assertThat(php).isNotNull();
   
    // verification
    assertThat(metrics.isObsolete()).isTrue();
    assertThat(zend.isObsolete()).isTrue();
    assertThat(php.isObsolete()).isFalse();
  }
}
TOP

Related Classes of com.openshift.internal.client.EmbeddableCartridgeTest

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.