/******************************************************************************* * * Copyright (c) 2010-2011 Sonatype, 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: * * * * *******************************************************************************/ package org.hudsonci.maven.plugin.builder.rest; import org.hudsonci.maven.plugin.builder.MavenBuilderDescriptor; import org.hudsonci.maven.plugin.builder.MavenBuilderService; import org.hudsonci.maven.plugin.builder.internal.MavenBuilderServiceImpl; import org.hudsonci.maven.plugin.builder.rest.BuilderDefaultConfigResource; import org.hudsonci.service.BuildService; import org.hudsonci.service.DescriptorService; import org.hudsonci.service.ProjectService; import org.hudsonci.service.SecurityService; import org.hudsonci.maven.model.config.BuildConfigurationDTO; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.runners.MockitoJUnitRunner; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; /** * Tests for {@link BuilderDefaultConfigResource} * @author plynch */ @RunWith(MockitoJUnitRunner.class) public class BuilderDefaultConfigResourceTest { @Mock private DescriptorService descriptorService; @Mock private SecurityService securityService; @Mock private ProjectService projectService; @Mock private BuildService buildService; @Mock private MavenBuilderDescriptor descriptor; @Mock private BuildConfigurationDTO dto; private BuilderDefaultConfigResource instance; @Before public void setUp() throws Exception { when(descriptorService.getDescriptorByType(MavenBuilderDescriptor.class)).thenReturn(descriptor); when(descriptor.getDefaults()).thenReturn(dto); MavenBuilderService mavenBuilderService = new MavenBuilderServiceImpl(securityService, descriptorService, projectService, buildService); instance = new BuilderDefaultConfigResource(mavenBuilderService); } /** * Test of getBuilderDefaultConfiguration method, of class BuilderDefaultConfigResource. */ @Test public void getBuilderDefaultConfigurationReturnsServiceDefault() { BuildConfigurationDTO result = instance.getBuilderDefaultConfiguration(); assertEquals(dto, result); } @Test public void setBuilderDefaultConfigurationSetsSpecifiedDefault() { instance.setBuilderDefaultConfiguration(dto); verify(descriptor, times(1)).setDefaults(dto); verifyNoMoreInteractions(descriptor); } @Test(expected=NullPointerException.class) public void setBuilderDefaultConfigurationDefaultsNullArg() { instance.setBuilderDefaultConfiguration(null); verifyZeroInteractions(descriptorService); } @Test public void resetBuilderDefaultConfigurationSetsDescriptorDefaults() { instance.resetBuilderDefaultConfiguration(); verify(descriptor, times(1)).setDefaults(MavenBuilderDescriptor.DEFAULTS); verifyNoMoreInteractions(descriptor); } }