/******************************************************************************* * Copyright (c) 2013-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.internal.client; import static org.fest.assertions.Assertions.assertThat; import static org.junit.Assert.assertEquals; 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.IStandaloneCartridge; import com.openshift.client.cartridge.StandaloneCartridge; 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 * @author Jeff Cantrill */ public class StandaloneCartridgeTest 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 shouldDownloadableWithDifferentNameEqualsDownloadable() throws MalformedURLException { // pre-conditions // operation // verification assertThat(new StandaloneCartridge("redhat", new URL(CartridgeTestUtils.GO_URL))) .isEqualTo(new StandaloneCartridge("jboss", new URL(CartridgeTestUtils.GO_URL))); // should equal if url is equal, name doesnt matter // (name is updated as soon as cartridge is deployed) assertThat(new StandaloneCartridge("jboss", new URL(CartridgeTestUtils.GO_URL))) .isEqualTo(new StandaloneCartridge("redhat", new URL(CartridgeTestUtils.GO_URL))); } @Test public void shouldDownloadableStandaloneNotEqualsDownloadableEmbeddable() throws MalformedURLException { // pre-conditions // operation // verification assertThat(new StandaloneCartridge(new URL(CartridgeTestUtils.GO_URL))) .isNotEqualTo(new EmbeddableCartridge(new URL(CartridgeTestUtils.FOREMAN_URL))); } @Test public void shouldHaveNameDisplaynameDescription() throws Throwable { // pre-condition IStandaloneCartridge nodeJs = connection.getStandaloneCartridges().get(0); CartridgeAssert<IStandaloneCartridge> cartridgeAssert = new CartridgeAssert<IStandaloneCartridge>(nodeJs); // operation // verification cartridgeAssert .hasName("nodejs-0.6") .hasDisplayName("Node.js 0.6") .hasDescription( "Node.js is a platform built on Chrome's JavaScript runtime for easily building fast, " + "scalable network applications. Node.js is perfect for data-intensive real-time " + "applications that run across distributed devices."); } @Test public void standaloneCartridgeResourceShouldEqualStandAloneCartridgeWithoutName() throws MalformedURLException { // pre-conditions // operation // verification assertEquals(new StandaloneCartridge(new URL(CartridgeTestUtils.FOREMAN_URL)), new StandaloneCartridge("redhat", new URL(CartridgeTestUtils.FOREMAN_URL))); } }