Package io.fabric8.itests.common

Source Code of io.fabric8.itests.common.AbstractProfileManagementTest

/**
*  Copyright 2005-2014 Red Hat, Inc.
*
*  Red Hat licenses this file to you under the Apache License, version
*  2.0 (the "License"); you may not use this file except in compliance
*  with the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
*  implied.  See the License for the specific language governing
*  permissions and limitations under the License.
*/
package io.fabric8.itests.common;

import io.fabric8.api.Profile;
import io.fabric8.api.ProfileBuilder;
import io.fabric8.api.VersionBuilder;
import io.fabric8.api.mxbean.ProfileManagement;
import io.fabric8.api.mxbean.ProfileState;
import io.fabric8.api.mxbean.VersionState;

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

import org.jboss.gravia.runtime.RuntimeType;
import org.junit.Assert;
import org.junit.Assume;
import org.junit.Test;

/**
* Test client side {@link ProfileManagement} test
*
* @since 15-Sep-2014
*/
public abstract class AbstractProfileManagementTest {

    abstract RuntimeType getRuntimeType();
    abstract ProfileManagement getProxy();
   
    @Test
    public void testGetVersions() throws Exception {
        List<String> versions = new ArrayList<>(getProxy().getVersions());
        Assert.assertTrue("Contains 1.0 - " + versions, versions.contains("1.0"));
    }

    @Test
    public void testGetVersion() throws Exception {
       
        // [FABRIC-1172] Jolokia exec operations fail on WildFly
        Assume.assumeFalse(getRuntimeType() == RuntimeType.WILDFLY);
       
        VersionState v10 = getProxy().getVersion("1.0");
        Assert.assertEquals("1.0", v10.getId());
        Assert.assertTrue("Expected empty, but was" + v10.getAttributes(), v10.getAttributes().isEmpty());
        List<String> profiles = v10.getProfiles();
        Assert.assertTrue(profiles.contains("default"));
        Assert.assertTrue(profiles.contains("fabric"));
    }

    @Test
    public void testCreateVersion() throws Exception {
       
        // [FABRIC-1172] Jolokia exec operations fail on WildFly
        Assume.assumeFalse(getRuntimeType() == RuntimeType.WILDFLY);
       
        ProfileBuilder pbA11 = ProfileBuilder.Factory.create("1.1", "prfA");
        Profile prfA = pbA11.addConfiguration("pidA", Collections.singletonMap("keyA", "valA")).getProfile();
        VersionBuilder vb11 = VersionBuilder.Factory.create("1.1").addProfile(prfA);
        VersionState v11 = getProxy().createVersion(new VersionState(vb11.getVersion()));
        try {
            Assert.assertEquals("1.1", v11.getId());
            Assert.assertTrue(v11.getAttributes().isEmpty());
            Assert.assertEquals("valA", v11.getProfileState("prfA").getConfiguration("pidA").get("keyA"));
        } finally {
            getProxy().deleteVersion("1.1");
        }
    }

    @Test
    public void testCreateVersionFrom() throws Exception {
       
        // [FABRIC-1172] Jolokia exec operations fail on WildFly
        Assume.assumeFalse(getRuntimeType() == RuntimeType.WILDFLY);
       
        // [FABRIC-1169] Profile version attributes leak to other versions
        // VersionState v12 = getProxy().createVersion("1.0", "1.2", Collections.singletonMap("keyA", "valA"));
        VersionState v12 = getProxy().createVersionFrom("1.0", "1.2", null);
        try {
            Assert.assertEquals("1.2", v12.getId());
            //Assert.assertEquals("valA", v12.getAttributes().get("keyA"));
            List<String> profiles = v12.getProfiles();
            Assert.assertTrue(profiles.contains("default"));
            Assert.assertTrue(profiles.contains("fabric"));
        } finally {
            getProxy().deleteVersion("1.2");
        }
    }

    @Test
    public void testCreateUpdateDeleteProfile() throws Exception {
       
        // [FABRIC-1172] Jolokia exec operations fail on WildFly
        Assume.assumeFalse(getRuntimeType() == RuntimeType.WILDFLY);
       
        ProfileBuilder pbA10 = ProfileBuilder.Factory.create("1.0", "prfA");
        pbA10.addConfiguration("pidA", Collections.singletonMap("keyA", "valA"));
        ProfileState prfA = getProxy().createProfile(new ProfileState(pbA10.getProfile()));
        try {
            Assert.assertEquals("prfA", prfA.getId());
            Assert.assertEquals("1.0", prfA.getVersion());
            Assert.assertTrue(prfA.getAttributes().isEmpty());
            Assert.assertEquals("valA", prfA.getConfiguration("pidA").get("keyA"));
           
            // getProfile
            Assert.assertEquals(prfA, getProxy().getProfile("1.0", "prfA"));

            // updateProfile
            prfA = getProxy().getProfile("1.0", "prfA");
            pbA10 = ProfileBuilder.Factory.createFrom(prfA.toProfile());
            pbA10.addConfiguration("pidB", "keyB", "valB");
            prfA = getProxy().updateProfile(new ProfileState(pbA10.getProfile()));
            Assert.assertEquals("prfA", prfA.getId());
            Assert.assertEquals("1.0", prfA.getVersion());
            Assert.assertTrue(prfA.getAttributes().isEmpty());
            Assert.assertEquals("valA", prfA.getConfiguration("pidA").get("keyA"));
            Assert.assertEquals("valB", prfA.getConfiguration("pidB").get("keyB"));
        } finally {
            getProxy().deleteProfile("1.0", "prfA", false);
        }
    }
}
TOP

Related Classes of io.fabric8.itests.common.AbstractProfileManagementTest

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.