2323import org .elasticsearch .action .admin .indices .alias .Alias ;
2424import org .elasticsearch .common .Strings ;
2525import org .elasticsearch .common .bytes .BytesArray ;
26- import org .elasticsearch .common .bytes .BytesReference ;
2726import org .elasticsearch .common .io .stream .BytesStreamOutput ;
2827import org .elasticsearch .common .io .stream .StreamInput ;
2928import org .elasticsearch .common .settings .Settings ;
30- import org .elasticsearch .common .xcontent .ToXContent ;
3129import org .elasticsearch .common .xcontent .XContentFactory ;
3230import org .elasticsearch .common .xcontent .XContentHelper ;
31+ import org .elasticsearch .common .xcontent .XContentParser ;
3332import org .elasticsearch .common .xcontent .XContentType ;
3433import org .elasticsearch .common .xcontent .yaml .YamlXContent ;
35- import org .elasticsearch .test .ESTestCase ;
34+ import org .elasticsearch .test .AbstractXContentTestCase ;
3635
3736import java .io .IOException ;
37+ import java .io .UncheckedIOException ;
3838import java .util .Arrays ;
3939import java .util .Base64 ;
4040import java .util .Collections ;
4545import static org .hamcrest .Matchers .nullValue ;
4646import static org .hamcrest .core .Is .is ;
4747
48- public class PutIndexTemplateRequestTests extends ESTestCase {
48+ public class PutIndexTemplateRequestTests extends AbstractXContentTestCase < PutIndexTemplateRequest > {
4949
5050 // bwc for #21009
5151 public void testPutIndexTemplateRequest510 () throws IOException {
@@ -137,13 +137,14 @@ public void testValidateErrorMessage() throws Exception {
137137 assertThat (noError , is (nullValue ()));
138138 }
139139
140- private PutIndexTemplateRequest randomPutIndexTemplateRequest () throws IOException {
140+ @ Override
141+ protected PutIndexTemplateRequest createTestInstance () {
141142 PutIndexTemplateRequest request = new PutIndexTemplateRequest ();
142143 request .name ("test" );
143- if (randomBoolean ()){
144+ if (randomBoolean ()) {
144145 request .version (randomInt ());
145146 }
146- if (randomBoolean ()){
147+ if (randomBoolean ()) {
147148 request .order (randomInt ());
148149 }
149150 request .patterns (Arrays .asList (generateRandomStringArray (20 , 100 , false , false )));
@@ -159,30 +160,39 @@ private PutIndexTemplateRequest randomPutIndexTemplateRequest() throws IOExcepti
159160 request .alias (alias );
160161 }
161162 if (randomBoolean ()) {
162- request .mapping ("doc" , XContentFactory .jsonBuilder ().startObject ()
163- .startObject ("doc" ).startObject ("properties" )
164- .startObject ("field-" + randomInt ()).field ("type" , randomFrom ("keyword" , "text" )).endObject ()
165- .endObject ().endObject ().endObject ());
163+ try {
164+ request .mapping ("doc" , XContentFactory .jsonBuilder ().startObject ()
165+ .startObject ("doc" ).startObject ("properties" )
166+ .startObject ("field-" + randomInt ()).field ("type" , randomFrom ("keyword" , "text" )).endObject ()
167+ .endObject ().endObject ().endObject ());
168+ } catch (IOException ex ) {
169+ throw new UncheckedIOException (ex );
170+ }
166171 }
167- if (randomBoolean ()){
172+ if (randomBoolean ()) {
168173 request .settings (Settings .builder ().put ("setting1" , randomLong ()).put ("setting2" , randomTimeValue ()).build ());
169174 }
170175 return request ;
171176 }
172177
173- public void testFromToXContentPutTemplateRequest () throws Exception {
174- for (int i = 0 ; i < 10 ; i ++) {
175- PutIndexTemplateRequest expected = randomPutIndexTemplateRequest ();
176- XContentType xContentType = randomFrom (XContentType .values ());
177- BytesReference shuffled = toShuffledXContent (expected , xContentType , ToXContent .EMPTY_PARAMS , randomBoolean ());
178- PutIndexTemplateRequest parsed = new PutIndexTemplateRequest ().source (shuffled , xContentType );
179- assertNotSame (expected , parsed );
180- assertThat (parsed .version (), equalTo (expected .version ()));
181- assertThat (parsed .order (), equalTo (expected .order ()));
182- assertThat (parsed .patterns (), equalTo (expected .patterns ()));
183- assertThat (parsed .aliases (), equalTo (expected .aliases ()));
184- assertThat (parsed .mappings (), equalTo (expected .mappings ()));
185- assertThat (parsed .settings (), equalTo (expected .settings ()));
186- }
178+ @ Override
179+ protected PutIndexTemplateRequest doParseInstance (XContentParser parser ) throws IOException {
180+ return new PutIndexTemplateRequest ().source (parser .map ());
181+ }
182+
183+ @ Override
184+ protected void assertEqualInstances (PutIndexTemplateRequest expected , PutIndexTemplateRequest actual ) {
185+ assertNotSame (expected , actual );
186+ assertThat (actual .version (), equalTo (expected .version ()));
187+ assertThat (actual .order (), equalTo (expected .order ()));
188+ assertThat (actual .patterns (), equalTo (expected .patterns ()));
189+ assertThat (actual .aliases (), equalTo (expected .aliases ()));
190+ assertThat (actual .mappings (), equalTo (expected .mappings ()));
191+ assertThat (actual .settings (), equalTo (expected .settings ()));
192+ }
193+
194+ @ Override
195+ protected boolean supportsUnknownFields () {
196+ return false ;
187197 }
188198}
0 commit comments