/******************************************************************************* * Copyright (c) 2015 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.restclient; import static org.mockito.Mockito.*; import static junit.framework.Assert.*; import java.util.Arrays; import java.util.List; import org.junit.Before; import org.junit.Test; import com.openshift.restclient.IClient; import com.openshift.restclient.ResourceKind; import com.openshift.restclient.model.IService; /** * @author Jeff Cantrill */ public class ResourceFactoryTest { private ResourceFactory factory; @Before public void setup() { IClient client = mock(IClient.class); when(client.getOpenShiftAPIVersion()).thenReturn(OpenShiftAPIVersion.v1.toString()); factory = new ResourceFactory(client); } /* * Validate the implementation classes implemented the expected constructor */ @Test public void testV1Beta3Implementations() { List<String> v1beta3Exlusions = Arrays.asList(new String [] { ResourceKind.CONFIG, ResourceKind.PROCESSED_TEMPLATES }); final String version = OpenShiftAPIVersion.v1beta3.toString(); for (String kind : ResourceKind.values()) { if(!v1beta3Exlusions.contains(kind)) { factory.create(version, kind); } } } @Test public void testStubWithNamespace() { IService service = factory.stub(ResourceKind.SERVICE, "foo", "bar"); assertEquals("foo", service.getName()); assertEquals("bar", service.getNamespace()); } @Test public void testCreateWithKindAndName() { IService service = factory.create("v1", ResourceKind.SERVICE, "foo"); assertEquals("foo", service.getName()); } }