Class DiffableTestUtils

java.lang.Object
org.elasticsearch.test.DiffableTestUtils

public final class DiffableTestUtils extends Object
Utilities that simplify testing of diffable classes
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final int
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static <T extends org.elasticsearch.cluster.Diffable<T>>
    T
    assertDiffApplication(T remoteChanges, T localInstance, org.elasticsearch.cluster.Diff<T> diffs)
    Asserts that changes are applied correctly, i.e.
    static <T extends org.elasticsearch.common.io.stream.Writeable>
    T
    assertSerialization(T testInstance, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.io.stream.Writeable.Reader<T> reader)
    Asserts that testInstance can be correctly.
    static <T extends org.elasticsearch.common.io.stream.Writeable>
    T
    copyInstance(T diffs, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.io.stream.Writeable.Reader<T> reader)
    Simulates sending diffs over the wire
    static <T extends org.elasticsearch.cluster.Diffable<T>>
    void
    testDiffableSerialization(Supplier<T> testInstance, Function<T,T> modifier, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.io.stream.Writeable.Reader<T> reader, org.elasticsearch.common.io.stream.Writeable.Reader<org.elasticsearch.cluster.Diff<T>> diffReader)
    Tests making random changes to an object, calculating diffs for these changes, sending this diffs over the wire and appling these diffs on the other side.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NUMBER_OF_DIFF_TEST_RUNS

      protected static final int NUMBER_OF_DIFF_TEST_RUNS
      See Also:
  • Method Details

    • assertDiffApplication

      public static <T extends org.elasticsearch.cluster.Diffable<T>> T assertDiffApplication(T remoteChanges, T localInstance, org.elasticsearch.cluster.Diff<T> diffs)
      Asserts that changes are applied correctly, i.e. that applying diffs to localInstance produces that object equal but not the same as the remoteChanges instance.
    • copyInstance

      public static <T extends org.elasticsearch.common.io.stream.Writeable> T copyInstance(T diffs, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.io.stream.Writeable.Reader<T> reader) throws IOException
      Simulates sending diffs over the wire
      Throws:
      IOException
    • testDiffableSerialization

      public static <T extends org.elasticsearch.cluster.Diffable<T>> void testDiffableSerialization(Supplier<T> testInstance, Function<T,T> modifier, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.io.stream.Writeable.Reader<T> reader, org.elasticsearch.common.io.stream.Writeable.Reader<org.elasticsearch.cluster.Diff<T>> diffReader) throws IOException
      Tests making random changes to an object, calculating diffs for these changes, sending this diffs over the wire and appling these diffs on the other side.
      Throws:
      IOException
    • assertSerialization

      public static <T extends org.elasticsearch.common.io.stream.Writeable> T assertSerialization(T testInstance, org.elasticsearch.common.io.stream.NamedWriteableRegistry namedWriteableRegistry, org.elasticsearch.common.io.stream.Writeable.Reader<T> reader) throws IOException
      Asserts that testInstance can be correctly.
      Throws:
      IOException