11package org .jenkinsci .plugins .parameterizedscheduler ;
22
3- import static org .junit .Assert .assertEquals ;
4- import static org .junit .Assert .assertNotNull ;
5- import static org .junit .Assert .assertNull ;
63import hudson .model .ParametersDefinitionProperty ;
4+ import org .junit .Test ;
5+ import org .junit .runner .RunWith ;
6+ import org .mockito .Mock ;
7+ import org .mockito .Mockito ;
8+ import org .mockito .junit .MockitoJUnitRunner ;
79
810import java .util .Arrays ;
911import java .util .Collections ;
1012import java .util .HashMap ;
1113import java .util .List ;
1214
13- import org .jenkinsci .plugins .parameterizedscheduler .Messages ;
14- import org .jenkinsci .plugins .parameterizedscheduler .ParameterParser ;
15- import org .junit .Test ;
16- import org .junit .runner .RunWith ;
17- import org .mockito .Mock ;
18- import org .mockito .Mockito ;
19- import org .mockito .runners .MockitoJUnitRunner ;
15+ import static org .junit .Assert .assertEquals ;
16+ import static org .junit .Assert .assertNull ;
17+ import static org .junit .Assert .assertTrue ;
2018
2119@ RunWith (MockitoJUnitRunner .class )
2220public class ParameterParserTest {
@@ -27,30 +25,28 @@ public class ParameterParserTest {
2725 @ Test
2826 public void test_nullReturns_emptyMap () {
2927 ParameterParser testObject = new ParameterParser ();
30-
31- assertEquals (new HashMap <String , String >(), testObject .parse (null ));
28+ assertEquals (Collections .emptyMap (), testObject .parse (null ));
3229 }
3330
3431 @ Test
3532 public void test_EmptyStringReturns_emptyMap () {
3633 ParameterParser testObject = new ParameterParser ();
3734
38- assertEquals (new HashMap < String , String > (), testObject .parse ("" ));
39- assertEquals (new HashMap < String , String > (), testObject .parse (" " ));
35+ assertEquals (Collections . emptyMap (), testObject .parse ("" ));
36+ assertEquals (Collections . emptyMap (), testObject .parse (" " ));
4037 }
4138
4239 @ Test (expected = IllegalArgumentException .class )
4340 public void test_Malformed_NoEquals_StringReturns_emptyMap () {
4441 ParameterParser testObject = new ParameterParser ();
45-
46- assertEquals (new HashMap <String , String >(), testObject .parse ("namevalue" ));
42+ assertEquals (Collections .emptyMap (), testObject .parse ("namevalue" ));
4743 }
4844
4945 @ Test (expected = IllegalArgumentException .class )
5046 public void test_Malformed_ExtraSemicolon_StringReturns_emptyMap () {
5147 ParameterParser testObject = new ParameterParser ();
5248
53- HashMap <String , String > expected = new HashMap <String , String >();
49+ HashMap <String , String > expected = new HashMap <>();
5450 expected .put ("name" , "value" );
5551 assertEquals (expected , testObject .parse ("name=value;;" ));
5652 }
@@ -59,25 +55,22 @@ public void test_Malformed_ExtraSemicolon_StringReturns_emptyMap() {
5955 public void test_OneParamStringReturns_emptyMap () {
6056 ParameterParser testObject = new ParameterParser ();
6157
62- HashMap <String , String > expected = new HashMap <String , String >();
58+ HashMap <String , String > expected = new HashMap <>();
6359 expected .put ("name" , "value" );
6460 assertEquals (expected , testObject .parse ("name=value" ));
6561 }
6662
6763 @ Test (expected = IllegalArgumentException .class )
68- public void test_TrimsSpacesStringReturns_emptyMap () {
64+ public void test_TrimsSpacesString () {
6965 ParameterParser testObject = new ParameterParser ();
70-
71- HashMap <String , String > expected = new HashMap <String , String >();
72- expected .put ("name" , "value" );
73- testObject .parse (" name = value; ;;" );
66+ assertEquals (Collections .singletonMap ("name" , "value" ), testObject .parse (" name = value; ;;" ));
7467 }
7568
7669 @ Test
7770 public void test_TwoParamsStringReturns_emptyMap () {
7871 ParameterParser testObject = new ParameterParser ();
7972
80- HashMap <String , String > expected = new HashMap <String , String >();
73+ HashMap <String , String > expected = new HashMap <>();
8174 expected .put ("name" , "value" );
8275 expected .put ("name2" , "value2" );
8376 assertEquals (expected , testObject .parse ("name2=value2;name=value" ));
@@ -87,7 +80,7 @@ public void test_TwoParamsStringReturns_emptyMap() {
8780 public void test_TwoParamsStringWithSpaceReturns_emptyMap () {
8881 ParameterParser testObject = new ParameterParser ();
8982
90- HashMap <String , String > expected = new HashMap <String , String >();
83+ HashMap <String , String > expected = new HashMap <>();
9184 expected .put ("name" , "value" );
9285 expected .put ("name2" , "value2" );
9386 assertEquals (expected , testObject .parse ("name2=value2; name=value" ));
@@ -96,25 +89,22 @@ public void test_TwoParamsStringWithSpaceReturns_emptyMap() {
9689 @ Test
9790 public void test_ValueContainsEquals_emptyMap () {
9891 ParameterParser testObject = new ParameterParser ();
99-
100- HashMap <String , String > expected = new HashMap <String , String >();
101- expected .put ("name" , "value=contains=equals" );
102- assertEquals (expected , testObject .parse ("name=value=contains=equals" ));
92+ assertEquals (Collections .singletonMap ("name" , "value=contains=equals" ), testObject .parse ("name=value=contains=equals" ));
10393 }
10494
10595 @ Test
10696 public void checkSanity_HappyPath () throws Exception {
10797 ParameterParser testObject = new ParameterParser ();
10898
109- Mockito .when (mockParametersDefinitionProperty .getParameterDefinitionNames ()).thenReturn (Arrays . asList ("name" ));
99+ Mockito .when (mockParametersDefinitionProperty .getParameterDefinitionNames ()).thenReturn (Collections . singletonList ("name" ));
110100 assertNull (testObject .checkSanity ("* * * * *%name=value" , mockParametersDefinitionProperty ));
111101 }
112102
113103 @ Test
114104 public void checkSanity_NotDefined_ProjectParameter () throws Exception {
115105 ParameterParser testObject = new ParameterParser ();
116106
117- List <String > list = Arrays . asList ("not name" );
107+ List <String > list = Collections . singletonList ("not name" );
118108 Mockito .when (mockParametersDefinitionProperty .getParameterDefinitionNames ()).thenReturn (list );
119109 assertEquals (Messages .ParameterizedTimerTrigger_UndefinedParameter ("[name]" , list .toString ()),
120110 testObject .checkSanity ("* * * * *%name=value" , mockParametersDefinitionProperty ));
@@ -148,14 +138,16 @@ public void checkSanity_NoParametersIsNoBigDeal() throws Exception {
148138 @ Test
149139 public void checkSanity_duplicateParamName () throws Exception {
150140 ParameterParser testObject = new ParameterParser ();
151-
152- testObject .checkSanity ("* * * * *%name=value;name=value2" , mockParametersDefinitionProperty );
141+ assertTrue (testObject .checkSanity ("* * * * *%name=value;name=value2" , mockParametersDefinitionProperty ).startsWith ("Duplicate key" ));
153142 }
154143
155144 @ Test
156145 public void checkSanity_UnmatchedEquals () throws Exception {
157146 ParameterParser testObject = new ParameterParser ();
158- testObject .checkSanity ("* * * * *%name=value;name2=" , mockParametersDefinitionProperty );
147+ Mockito .when (mockParametersDefinitionProperty .getParameterDefinitionNames ()).thenReturn (
148+ Arrays .asList ("name" , "name2" ));
149+ // TODO: Warn on missing value
150+ assertNull (testObject .checkSanity ("* * * * *%name=value;name2=" , mockParametersDefinitionProperty ));
159151 }
160152
161153 @ Test
0 commit comments