Skip to content

Commit

Permalink
Migrate cron eval bats test to java (#50940) (#51007)
Browse files Browse the repository at this point in the history
This commit migrates the simple test of the cron eval tool from bats to
java packaging tests.

relates #46005
  • Loading branch information
rjernst authored Jan 27, 2020
1 parent 4ff314a commit 6ee1baf
Show file tree
Hide file tree
Showing 6 changed files with 53 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ public void apply(Project project) {
}
Map<String, TaskProvider<?>> batsTests = new HashMap<>();
batsTests.put("bats oss", configureBatsTest(project, "oss", distributionsDir, copyDistributionsTask));
batsTests.put("bats default", configureBatsTest(project, "default", distributionsDir, copyDistributionsTask));
configureBatsTest(project, "plugins", distributionsDir, copyDistributionsTask, copyPluginsTask).configure(
t -> t.setPluginsDir(pluginsDir)
);
Expand Down
47 changes: 0 additions & 47 deletions qa/os/bats/default/10_basic.bats

This file was deleted.

2 changes: 1 addition & 1 deletion qa/os/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ tasks.dependenciesInfo.enabled = false
tasks.thirdPartyAudit.ignoreMissingClasses()

tasks.register('destructivePackagingTest') {
dependsOn 'destructiveDistroTest', 'destructiveBatsTest.oss', 'destructiveBatsTest.default'
dependsOn 'destructiveDistroTest', 'destructiveBatsTest.oss'
}

processTestResources {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch 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 org.elasticsearch.packaging.test;

import org.elasticsearch.packaging.util.Distribution;
import org.elasticsearch.packaging.util.Shell;
import org.junit.Before;

import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assume.assumeTrue;

public class CronEvalCliTests extends PackagingTestCase {

@Before
public void filterDistros() {
assumeTrue("only default distro", distribution.flavor == Distribution.Flavor.DEFAULT);
assumeTrue("no docker", distribution.packaging != Distribution.Packaging.DOCKER);
}

public void test10Install() throws Exception {
install();
}

public void test20Help() throws Exception {
Shell.Result result = installation.executables().cronevalTool.run("--help");
assertThat(result.stdout, containsString("Validates and evaluates a cron expression"));
}

public void test30Run() throws Exception {
Shell.Result result = installation.executables().cronevalTool.run("'0 0 20 ? * MON-THU' -c 2");
assertThat(result.stdout, containsString("Valid!"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ public class Executables {
public final Executable keystoreTool = new Executable("elasticsearch-keystore");
public final Executable certutilTool = new Executable("elasticsearch-certutil");
public final Executable certgenTool = new Executable("elasticsearch-certgen");
public final Executable cronevalTool = new Executable("elasticsearch-croneval");
public final Executable shardTool = new Executable("elasticsearch-shard");
public final Executable nodeTool = new Executable("elasticsearch-node");
public final Executable setupPasswordsTool = new Executable("elasticsearch-setup-passwords");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ protected void execute(Terminal terminal, OptionSet options) throws Exception {
int count = countOption.value(options);
List<String> args = arguments.values(options);
if (args.size() != 1) {
throw new UserException(ExitCodes.USAGE, "expecting a single argument that is the cron expression to evaluate");
throw new UserException(ExitCodes.USAGE, "expecting a single argument that is the cron expression to evaluate, got " + args);
}
boolean printDetail = options.has(detailOption);
execute(terminal, args.get(0), count, printDetail);
Expand Down

0 comments on commit 6ee1baf

Please sign in to comment.