66package org .elasticsearch .xpack .core .ml .job .groups ;
77
88import org .elasticsearch .ResourceAlreadyExistsException ;
9- import org .elasticsearch .ResourceNotFoundException ;
109import org .elasticsearch .test .ESTestCase ;
1110import org .elasticsearch .xpack .core .ml .job .config .Job ;
12- import org .elasticsearch .xpack .core .ml .job .groups .GroupOrJobLookup ;
1311
1412import java .util .ArrayList ;
1513import java .util .Arrays ;
1614import java .util .Collections ;
1715import java .util .List ;
1816
17+ import static org .hamcrest .Matchers .contains ;
1918import static org .hamcrest .Matchers .equalTo ;
2019import static org .hamcrest .Matchers .is ;
21- import static org .hamcrest .Matchers .contains ;
2220import static org .mockito .Mockito .mock ;
2321import static org .mockito .Mockito .when ;
2422
2523public class GroupOrJobLookupTests extends ESTestCase {
2624
27- public void testEmptyLookup_GivenAllowNoJobs () {
28- GroupOrJobLookup lookup = new GroupOrJobLookup (Collections .emptyList ());
29-
30- assertThat (lookup .expandJobIds ("_all" , true ).isEmpty (), is (true ));
31- assertThat (lookup .expandJobIds ("*" , true ).isEmpty (), is (true ));
32- assertThat (lookup .expandJobIds ("foo*" , true ).isEmpty (), is (true ));
33- expectThrows (ResourceNotFoundException .class , () -> lookup .expandJobIds ("foo" , true ));
34- }
35-
36- public void testEmptyLookup_GivenNotAllowNoJobs () {
25+ public void testEmptyLookup () {
3726 GroupOrJobLookup lookup = new GroupOrJobLookup (Collections .emptyList ());
3827
39- expectThrows ( ResourceNotFoundException . class , () -> lookup .expandJobIds ("_all" , false ));
40- expectThrows ( ResourceNotFoundException . class , () -> lookup .expandJobIds ("*" , false ));
41- expectThrows ( ResourceNotFoundException . class , () -> lookup .expandJobIds ("foo*" , false ));
42- expectThrows ( ResourceNotFoundException . class , () -> lookup .expandJobIds ("foo" , true ));
28+ assertThat ( lookup .expandJobIds ("_all" ). isEmpty (), is ( true ));
29+ assertThat ( lookup .expandJobIds ("*" ). isEmpty (), is ( true ));
30+ assertThat ( lookup .expandJobIds ("foo*" ). isEmpty (), is ( true ));
31+ assertThat ( lookup .expandJobIds ("foo" ). isEmpty (), is ( true ));
4332 }
4433
4534 public void testAllIsNotExpandedInCommaSeparatedExpression () {
4635 GroupOrJobLookup lookup = new GroupOrJobLookup (Collections .emptyList ());
47- ResourceNotFoundException e = expectThrows (ResourceNotFoundException .class , () -> lookup .expandJobIds ("foo-*,_all" , true ));
48- assertThat (e .getMessage (), equalTo ("No known job with id '_all'" ));
36+ assertThat (lookup .expandJobIds ("foo*,_all" ).isEmpty (), is (true ));
4937 }
5038
5139 public void testConstructor_GivenJobWithSameIdAsPreviousGroupName () {
@@ -75,19 +63,19 @@ public void testLookup() {
7563 jobs .add (mockJob ("nogroup" , Collections .emptyList ()));
7664 GroupOrJobLookup groupOrJobLookup = new GroupOrJobLookup (jobs );
7765
78- assertThat (groupOrJobLookup .expandJobIds ("_all" , false ), contains ("bar-1" , "bar-2" , "foo-1" , "foo-2" , "nogroup" ));
79- assertThat (groupOrJobLookup .expandJobIds ("*" , false ), contains ("bar-1" , "bar-2" , "foo-1" , "foo-2" , "nogroup" ));
80- assertThat (groupOrJobLookup .expandJobIds ("bar-1" , false ), contains ("bar-1" ));
81- assertThat (groupOrJobLookup .expandJobIds ("foo-1" , false ), contains ("foo-1" ));
82- assertThat (groupOrJobLookup .expandJobIds ("foo-2, bar-1" , false ), contains ("bar-1" , "foo-2" ));
83- assertThat (groupOrJobLookup .expandJobIds ("foo-group" , false ), contains ("foo-1" , "foo-2" ));
84- assertThat (groupOrJobLookup .expandJobIds ("bar-group" , false ), contains ("bar-1" , "bar-2" ));
85- assertThat (groupOrJobLookup .expandJobIds ("ones" , false ), contains ("bar-1" , "foo-1" ));
86- assertThat (groupOrJobLookup .expandJobIds ("twos" , false ), contains ("bar-2" , "foo-2" ));
87- assertThat (groupOrJobLookup .expandJobIds ("foo-group, nogroup" , false ), contains ("foo-1" , "foo-2" , "nogroup" ));
88- assertThat (groupOrJobLookup .expandJobIds ("*-group" , false ), contains ("bar-1" , "bar-2" , "foo-1" , "foo-2" ));
89- assertThat (groupOrJobLookup .expandJobIds ("foo-group,foo-1,foo-2" , false ), contains ("foo-1" , "foo-2" ));
90- assertThat (groupOrJobLookup .expandJobIds ("foo-group,*-2" , false ), contains ("bar-2" , "foo-1" , "foo-2" ));
66+ assertThat (groupOrJobLookup .expandJobIds ("_all" ), contains ("bar-1" , "bar-2" , "foo-1" , "foo-2" , "nogroup" ));
67+ assertThat (groupOrJobLookup .expandJobIds ("*" ), contains ("bar-1" , "bar-2" , "foo-1" , "foo-2" , "nogroup" ));
68+ assertThat (groupOrJobLookup .expandJobIds ("bar-1" ), contains ("bar-1" ));
69+ assertThat (groupOrJobLookup .expandJobIds ("foo-1" ), contains ("foo-1" ));
70+ assertThat (groupOrJobLookup .expandJobIds ("foo-2, bar-1" ), contains ("bar-1" , "foo-2" ));
71+ assertThat (groupOrJobLookup .expandJobIds ("foo-group" ), contains ("foo-1" , "foo-2" ));
72+ assertThat (groupOrJobLookup .expandJobIds ("bar-group" ), contains ("bar-1" , "bar-2" ));
73+ assertThat (groupOrJobLookup .expandJobIds ("ones" ), contains ("bar-1" , "foo-1" ));
74+ assertThat (groupOrJobLookup .expandJobIds ("twos" ), contains ("bar-2" , "foo-2" ));
75+ assertThat (groupOrJobLookup .expandJobIds ("foo-group, nogroup" ), contains ("foo-1" , "foo-2" , "nogroup" ));
76+ assertThat (groupOrJobLookup .expandJobIds ("*-group" ), contains ("bar-1" , "bar-2" , "foo-1" , "foo-2" ));
77+ assertThat (groupOrJobLookup .expandJobIds ("foo-group,foo-1,foo-2" ), contains ("foo-1" , "foo-2" ));
78+ assertThat (groupOrJobLookup .expandJobIds ("foo-group,*-2" ), contains ("bar-2" , "foo-1" , "foo-2" ));
9179 }
9280
9381 public void testIsGroupOrJob () {
@@ -104,6 +92,19 @@ public void testIsGroupOrJob() {
10492 assertFalse (groupOrJobLookup .isGroupOrJob ("missing" ));
10593 }
10694
95+ public void testExpandGroupIds () {
96+ List <Job > jobs = new ArrayList <>();
97+ jobs .add (mockJob ("foo-1" , Arrays .asList ("foo-group" )));
98+ jobs .add (mockJob ("foo-2" , Arrays .asList ("foo-group" )));
99+ jobs .add (mockJob ("bar-1" , Arrays .asList ("bar-group" )));
100+ jobs .add (mockJob ("nogroup" , Collections .emptyList ()));
101+
102+ GroupOrJobLookup groupOrJobLookup = new GroupOrJobLookup (jobs );
103+ assertThat (groupOrJobLookup .expandGroupIds ("foo*" ), contains ("foo-group" ));
104+ assertThat (groupOrJobLookup .expandGroupIds ("bar-group,nogroup" ), contains ("bar-group" ));
105+ assertThat (groupOrJobLookup .expandGroupIds ("*" ), contains ("bar-group" , "foo-group" ));
106+ }
107+
107108 private static Job mockJob (String jobId , List <String > groups ) {
108109 Job job = mock (Job .class );
109110 when (job .getId ()).thenReturn (jobId );
0 commit comments