/* * Copyright 2012 Splunk, Inc. * * Licensed 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 com.splunk; import org.junit.Assert; import org.junit.Assume; import org.junit.Before; import org.junit.Test; public class DeploymentServerClassTest extends SDKTestCase { private EntityCollection<DeploymentServerClass> classes; private String serverClassName; private DeploymentServerClass serverClass; @Before @Override public void setUp() throws Exception { super.setUp(); classes = service.getDeploymentServerClasses(); // Create a temporary deployment serverclass. serverClassName = createTemporaryName(); serverClass = classes.create(serverClassName); // NOTE: We cannot delete server classes via the // REST API, so randomly named ones will just accumulate. } @Test public void testCreate() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } Assert.assertTrue(classes.containsKey(serverClassName)); } @Test public void testDisable() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } if (serverClass.isDisabled()) { serverClass.enable(); serverClass.refresh(); Assert.assertFalse(serverClass.isDisabled()); } serverClass.disable(); serverClass.refresh(); Assert.assertTrue(serverClass.isDisabled()); } @Test public void testEnable() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } if (!serverClass.isDisabled()) { serverClass.disable(); serverClass.refresh(); Assert.assertTrue(serverClass.isDisabled()); } serverClass.enable(); serverClass.refresh(); Assert.assertFalse(serverClass.isDisabled()); } @Test public void testBlacklist() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } String[] blacklist = {"bad1.splunk.com", "bad2.splunk.com"}; for (int i = 0; i < blacklist.length; i++) { serverClass.setBlacklistByIndex(i, blacklist[i]); } serverClass.update(); serverClass.refresh(); for (int i = 0; i < blacklist.length; i++) { Assert.assertEquals(blacklist[i], serverClass.getBlacklistByIndex(i)); } Assert.assertEquals(Util.join(",", blacklist), serverClass.getBlacklist()); } @Test public void testWhitelist() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } String[] whitelist = {"bad1.splunk.com", "bad2.splunk.com"}; for (int i = 0; i < whitelist.length; i++) { serverClass.setWhitelistByIndex(i, whitelist[i]); } serverClass.update(); serverClass.refresh(); for (int i = 0; i < whitelist.length; i++) { Assert.assertEquals(whitelist[i], serverClass.getWhitelistByIndex(i)); } Assert.assertEquals(Util.join(",", whitelist), serverClass.getWhitelist()); } @Test public void testContinueMatching() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } Assert.assertFalse(serverClass.getContinueMatching()); serverClass.setContinueMatching(true); serverClass.update(); serverClass.refresh(); Assert.assertTrue(serverClass.getContinueMatching()); } @Test public void testEndpoint() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } serverClass.setEndPoint("boris the mad baboon"); serverClass.update(); serverClass.refresh(); Assert.assertEquals("boris the mad baboon", serverClass.getEndpoint()); } @Test public void testFilterType() { if (service.versionIsAtLeast("6.0")) { // WORKAROUND (DVPL-2993): The deployment server has changed in Splunk 6, and is not yet supported. return; } serverClass.setFilterType("whitelist"); serverClass.update(); serverClass.refresh(); Assert.assertEquals("whitelist", serverClass.getFilterType()); serverClass.setFilterType("blacklist"); serverClass.refresh(); Assert.assertEquals("blacklist", serverClass.getFilterType()); } }