/******************************************************************************* * 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 com.openshift.client.utils.Samples.GET_0_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6; import static com.openshift.client.utils.Samples.GET_1_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6; import static com.openshift.client.utils.Samples.GET_DOMAINS; import static com.openshift.client.utils.Samples.GET_DOMAINS_FOOBARZ_APPLICATIONS_1EMBEDDED; import static com.openshift.client.utils.Samples.GET_DOMAINS_FOOBARZ_APPLICATIONS_SPRINGEAP6_1EMBEDDED; import static com.openshift.client.utils.Samples.PUT_FOO_ENVIRONMENT_VARIABLE_FOOBARZ_SPRINGEAP6; import static org.fest.assertions.Assertions.assertThat; import org.junit.Before; import org.junit.Test; import com.openshift.client.IApplication; import com.openshift.client.IEnvironmentVariable; /** * @author Syed Iqbal * @author Martes G Wigglesworth */ public class EnvironmentVariableResourceTest extends TestTimer { private IApplication application; private HttpClientMockDirector mockDirector; @Before public void setup() throws Throwable{ this.mockDirector = new HttpClientMockDirector() .mockGetDomains(GET_DOMAINS) .mockGetApplications("foobarz", GET_DOMAINS_FOOBARZ_APPLICATIONS_1EMBEDDED) .mockGetApplication("foobarz", "springeap6", GET_DOMAINS_FOOBARZ_APPLICATIONS_SPRINGEAP6_1EMBEDDED); this.application = mockDirector.getDomain("foobarz").getApplicationByName("springeap6"); assertThat(application).isNotNull(); } @Test public void shouldGetEnvironmentVariableName() throws Throwable{ //precondition mockDirector.mockGetEnvironmentVariables("foobarz", "springeap6", GET_1_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6); //operartion IEnvironmentVariable environmentVariable = application.getEnvironmentVariable("FOO"); //verification assertThat(environmentVariable.getName()).isEqualTo("FOO"); } @Test public void shouldGetEnvironmentVariableValue() throws Throwable{ //precondition mockDirector.mockGetEnvironmentVariables("foobarz", "springeap6", GET_1_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6); //operartion IEnvironmentVariable environmentVariable = application.getEnvironmentVariable("FOO"); //verification assertThat(environmentVariable.getValue()).isEqualTo("123"); } @Test public void shouldDeleteEnvironmentVariable() throws Throwable{ //precondition mockDirector.mockGetEnvironmentVariables("foobarz", "springeap6", GET_1_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6,GET_0_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6); //operation IEnvironmentVariable environmentVariable = application.getEnvironmentVariable("FOO"); assertThat(environmentVariable).isNotNull(); application.removeEnvironmentVariable(environmentVariable); application.refresh(); environmentVariable = application.getEnvironmentVariable("FOO"); assertThat(environmentVariable).isNull(); } @Test public void shouldUpdateEnvironmentVariableValue() throws Throwable{ //precondition mockDirector.mockGetEnvironmentVariables("foobarz", "springeap6", GET_1_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6,GET_1_ENVIRONMENT_VARIABLES_FOOBARZ_SPRINGEAP6) .mockUpdateEnvironmentVariableValue("foobarz", "springeap6","FOO", PUT_FOO_ENVIRONMENT_VARIABLE_FOOBARZ_SPRINGEAP6); //operation IEnvironmentVariable environmentVariable = application.getEnvironmentVariable("FOO"); assertThat(environmentVariable.getValue()).isEqualTo("123"); application.updateEnvironmentVariable("FOO","321"); assertThat(environmentVariable.getValue()).isEqualTo("321"); } }