@@ -123,4 +123,65 @@ public void testValidate() {
123
123
validationException = request .validate ();
124
124
assertThat (validationException , nullValue ());
125
125
}
126
+
127
+ public void testValidateName () {
128
+ PutAutoFollowPatternAction .Request request = new PutAutoFollowPatternAction .Request ();
129
+ request .setRemoteCluster ("_alias" );
130
+ request .setLeaderIndexPatterns (Collections .singletonList ("logs-*" ));
131
+
132
+ request .setName ("name" );
133
+ ActionRequestValidationException validationException = request .validate ();
134
+ assertThat (validationException , nullValue ());
135
+ }
136
+
137
+ public void testValidateNameComma () {
138
+ PutAutoFollowPatternAction .Request request = new PutAutoFollowPatternAction .Request ();
139
+ request .setRemoteCluster ("_alias" );
140
+ request .setLeaderIndexPatterns (Collections .singletonList ("logs-*" ));
141
+
142
+ request .setName ("name1,name2" );
143
+ ActionRequestValidationException validationException = request .validate ();
144
+ assertThat (validationException , notNullValue ());
145
+ assertThat (validationException .getMessage (), containsString ("name must not contain a ','" ));
146
+ }
147
+
148
+ public void testValidateNameLeadingUnderscore () {
149
+ PutAutoFollowPatternAction .Request request = new PutAutoFollowPatternAction .Request ();
150
+ request .setRemoteCluster ("_alias" );
151
+ request .setLeaderIndexPatterns (Collections .singletonList ("logs-*" ));
152
+
153
+ request .setName ("_name" );
154
+ ActionRequestValidationException validationException = request .validate ();
155
+ assertThat (validationException , notNullValue ());
156
+ assertThat (validationException .getMessage (), containsString ("name must not start with '_'" ));
157
+ }
158
+
159
+ public void testValidateNameUnderscores () {
160
+ PutAutoFollowPatternAction .Request request = new PutAutoFollowPatternAction .Request ();
161
+ request .setRemoteCluster ("_alias" );
162
+ request .setLeaderIndexPatterns (Collections .singletonList ("logs-*" ));
163
+
164
+ request .setName ("n_a_m_e_" );
165
+ ActionRequestValidationException validationException = request .validate ();
166
+ assertThat (validationException , nullValue ());
167
+ }
168
+
169
+ public void testValidateNameTooLong () {
170
+ PutAutoFollowPatternAction .Request request = new PutAutoFollowPatternAction .Request ();
171
+ request .setRemoteCluster ("_alias" );
172
+ request .setLeaderIndexPatterns (Collections .singletonList ("logs-*" ));
173
+
174
+ StringBuilder stringBuilder = new StringBuilder ();
175
+ for (int i = 0 ; i < 256 ; i ++) {
176
+ stringBuilder .append ('x' );
177
+ }
178
+ request .setName (stringBuilder .toString ());
179
+ ActionRequestValidationException validationException = request .validate ();
180
+ assertThat (validationException , notNullValue ());
181
+ assertThat (validationException .getMessage (), containsString ("name is too long (256 > 255)" ));
182
+
183
+ request .setName ("name" );
184
+ validationException = request .validate ();
185
+ assertThat (validationException , nullValue ());
186
+ }
126
187
}
0 commit comments