/*******************************************************************************
* Copyright (c) 2008, 2010 VMware Inc.
* All rights reserved. This program and the accompanying materials
* are 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:
* VMware Inc. - initial contribution
*******************************************************************************/
package org.eclipse.virgo.kernel.model.management.internal;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import javax.management.ObjectName;
import org.eclipse.virgo.kernel.model.StubCompositeArtifact;
import org.eclipse.virgo.kernel.model.management.internal.DefaultRuntimeArtifactModelObjectNameCreator;
import org.eclipse.virgo.nano.serviceability.Assert.FatalAssertionException;
import org.junit.Test;
public class DefaultArtifactObjectNameCreatorTests {
private final DefaultRuntimeArtifactModelObjectNameCreator creator = new DefaultRuntimeArtifactModelObjectNameCreator("test-domain");
@Test(expected = FatalAssertionException.class)
public void nullArtifactModelArtifact() {
creator.createArtifactModel(null);
}
@Test
public void successArtifactModel() {
ObjectName objectName = creator.createArtifactModel(new StubCompositeArtifact());
assertNotNull(objectName);
assertEquals("test-domain:artifact-type=test-type,name=test-name,region=test-region,type=ArtifactModel,version=0.0.0", objectName.getCanonicalName());
}
@Test
public void createArtifactsOfTypeQuery() throws Exception {
ObjectName artifactsOfTypeQuery = creator.createArtifactsOfTypeQuery("test-type");
assertNotNull(artifactsOfTypeQuery);
assertEquals("test-domain:artifact-type=test-type,type=ArtifactModel,*", artifactsOfTypeQuery.getCanonicalName());
}
@Test
public void createArtifactsOfTypeQueryQuoting() throws Exception {
ObjectName artifactsOfTypeQuery = creator.createArtifactsOfTypeQuery("test:type");
assertNotNull(artifactsOfTypeQuery);
assertEquals("test-domain:artifact-type=\"test:type\",type=ArtifactModel,*", artifactsOfTypeQuery.getCanonicalName());
}
@Test
public void artifactVersionQuery() throws Exception {
ObjectName artifactsVersionQuery = creator.createArtifactVersionsQuery("test-type", "test-name");
assertNotNull(artifactsVersionQuery);
assertEquals("test-domain:artifact-type=test-type,name=test-name,type=ArtifactModel,*", artifactsVersionQuery.getCanonicalName());
}
@Test
public void allArtifactsQuery() throws Exception {
ObjectName artifactsQuery = creator.createAllArtifactsQuery();
assertNotNull(artifactsQuery);
assertEquals("test-domain:type=ArtifactModel,*", artifactsQuery.getCanonicalName());
}
}