77
88package org .elasticsearch .xpack .inference .action ;
99
10+ import org .elasticsearch .TransportVersion ;
11+ import org .elasticsearch .TransportVersions ;
1012import org .elasticsearch .common .io .stream .Writeable ;
1113import org .elasticsearch .inference .TaskType ;
12- import org .elasticsearch .test .AbstractWireSerializingTestCase ;
1314import org .elasticsearch .xcontent .XContentType ;
15+ import org .elasticsearch .xpack .core .inference .action .InferenceAction ;
1416import org .elasticsearch .xpack .core .inference .action .PutInferenceModelAction ;
17+ import org .elasticsearch .xpack .core .ml .AbstractBWCWireSerializationTestCase ;
1518
16- public class PutInferenceModelRequestTests extends AbstractWireSerializingTestCase <PutInferenceModelAction .Request > {
19+ public class PutInferenceModelRequestTests extends AbstractBWCWireSerializationTestCase <PutInferenceModelAction .Request > {
1720 @ Override
1821 protected Writeable .Reader <PutInferenceModelAction .Request > instanceReader () {
1922 return PutInferenceModelAction .Request ::new ;
@@ -25,38 +28,29 @@ protected PutInferenceModelAction.Request createTestInstance() {
2528 randomFrom (TaskType .values ()),
2629 randomAlphaOfLength (6 ),
2730 randomBytesReference (50 ),
28- randomFrom (XContentType .values ())
31+ randomFrom (XContentType .values ()),
32+ randomTimeValue ()
2933 );
3034 }
3135
3236 @ Override
3337 protected PutInferenceModelAction .Request mutateInstance (PutInferenceModelAction .Request instance ) {
34- return switch (randomIntBetween (0 , 3 )) {
35- case 0 -> new PutInferenceModelAction .Request (
36- TaskType .values ()[(instance .getTaskType ().ordinal () + 1 ) % TaskType .values ().length ],
37- instance .getInferenceEntityId (),
38- instance .getContent (),
39- instance .getContentType ()
40- );
41- case 1 -> new PutInferenceModelAction .Request (
42- instance .getTaskType (),
43- instance .getInferenceEntityId () + "foo" ,
44- instance .getContent (),
45- instance .getContentType ()
46- );
47- case 2 -> new PutInferenceModelAction .Request (
48- instance .getTaskType (),
49- instance .getInferenceEntityId (),
50- randomBytesReference (instance .getContent ().length () + 1 ),
51- instance .getContentType ()
52- );
53- case 3 -> new PutInferenceModelAction .Request (
38+ return randomValueOtherThan (instance , this ::createTestInstance );
39+ }
40+
41+ @ Override
42+ protected PutInferenceModelAction .Request mutateInstanceForVersion (PutInferenceModelAction .Request instance , TransportVersion version ) {
43+ if (version .onOrAfter (TransportVersions .INFERENCE_ADD_TIMEOUT_PUT_ENDPOINT )
44+ || version .isPatchFrom (TransportVersions .INFERENCE_ADD_TIMEOUT_PUT_ENDPOINT_8_19 )) {
45+ return instance ;
46+ } else {
47+ return new PutInferenceModelAction .Request (
5448 instance .getTaskType (),
5549 instance .getInferenceEntityId (),
5650 instance .getContent (),
57- XContentType .values ()[(instance .getContentType ().ordinal () + 1 ) % XContentType .values ().length ]
51+ instance .getContentType (),
52+ InferenceAction .Request .DEFAULT_TIMEOUT
5853 );
59- default -> throw new IllegalStateException ();
60- };
54+ }
6155 }
6256}
0 commit comments