Package com.splunk.shuttl.testutil

Source Code of com.splunk.shuttl.testutil.SplunkTestUtils

// Copyright (C) 2011 Splunk Inc.
//
// Splunk Inc. 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 com.splunk.shuttl.testutil;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.apache.commons.io.IOUtils;

import com.splunk.EntityCollection;
import com.splunk.Index;
import com.splunk.Job;
import com.splunk.Service;

/**
* Util class for tests that are run against Splunk.
*/
public class SplunkTestUtils {

  private static final int SLEEP_IN_MILLIS_BETWEEN_JOB_REFRESH = 150;

  public static final String TEST_RESOURCES_PATH = "test/resources";

  public static void waitWhileJobFinishes(Job job) {
    while (!job.isDone()) {
      sleep(SLEEP_IN_MILLIS_BETWEEN_JOB_REFRESH);
      job.refresh();
    }
  }

  private static void sleep(int millis) {
    try {
      Thread.sleep(millis);
    } catch (InterruptedException e) {
      throw new RuntimeException(e);
    }
  }

  public static List<String> readSearchResults(InputStream results) {
    try {
      return IOUtils.readLines(results);
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  }

  static public void waitForIndexing(Index index, int value, int seconds) {
    int indexedEventCount = 0;
    while (seconds > 0)
      try {
        // 5000ms (5 second sleep)
        Thread.sleep(5000);
        seconds = seconds - 5;
        indexedEventCount = index.getTotalEventCount();
        if (indexedEventCount == value)
          return;
        index.refresh();
      } catch (InterruptedException e) {
        continue;
      }
    String msg = "Indexing incomplete for index " + index + " after " + seconds
        + "seconds, expectedCount=" + value + " actualCount="
        + indexedEventCount;
    throw new RuntimeException(msg);
  }

  public static Index createSplunkIndex(Service service, String name) {
    Index index;
    EntityCollection<Index> indexes = service.getIndexes();
    if (indexes.containsKey(name)) {
      System.out.println("Index " + name + " already exists");
      index = indexes.get(name);
    } else {
      indexes.create(name);
      index = indexes.get(name);
      index.refresh();
      indexes.refresh();
      System.out.println("Index " + name + " created");
    }

    return index;
  }
}
TOP

Related Classes of com.splunk.shuttl.testutil.SplunkTestUtils

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.