Class AbstractInputStreamAssert<SELF extends AbstractInputStreamAssert<SELF,​ACTUAL>,​ACTUAL extends InputStream>

    • Field Detail

      • inputStreams

        org.assertj.core.internal.InputStreams inputStreams
    • Constructor Detail

      • AbstractInputStreamAssert

        protected AbstractInputStreamAssert​(ACTUAL actual,
                                            Class<?> selfType)
    • Method Detail

      • asString

        public AbstractStringAssert<?> asString​(Charset charset)
        Converts the content of the actual InputStream to a String by decoding its bytes using the given charset and returns assertions for the computed String allowing String specific assertions from this call.

        Example :

         InputStream abcInputStream = new ByteArrayInputStream("abc".getBytes());
        
         // assertion succeeds
         assertThat(abcInputStream).asString(UTF_8)
                                   .startsWith("a");
        
         // assertion fails
         assertThat(abcInputStream).asString(UTF_8)
                                   .startsWith("e");
        Parameters:
        charset - the Charset to interpret the InputStream's content to a String
        Returns:
        a string assertion object.
        Throws:
        NullPointerException - if the given Charset is null.
        AssertionError - if the actual InputStream is null.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        Since:
        3.20.0
      • hasContentEqualTo

        @Deprecated
        public SELF hasContentEqualTo​(InputStream expected)
        Deprecated.
        Verifies that the content of the actual InputStream is equal to the content of the given one.
        Parameters:
        expected - the given InputStream to compare the actual InputStream to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given InputStream is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the content of the actual InputStream is not equal to the content of the given one.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      • hasSameContentAs

        public SELF hasSameContentAs​(InputStream expected)
        Verifies that the content of the actual InputStream is equal to the content of the given one.

        Example:

         // assertion will pass
         assertThat(new ByteArrayInputStream(new byte[] {0xa})).hasSameContentAs(new ByteArrayInputStream(new byte[] {0xa}));
        
         // assertions will fail
         assertThat(new ByteArrayInputStream(new byte[] {0xa})).hasSameContentAs(new ByteArrayInputStream(new byte[] {}));
         assertThat(new ByteArrayInputStream(new byte[] {0xa})).hasSameContentAs(new ByteArrayInputStream(new byte[] {0xa, 0xc, 0xd}));
        Parameters:
        expected - the given InputStream to compare the actual InputStream to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given InputStream is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the content of the actual InputStream is not equal to the content of the given one.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
      • isEmpty

        public SELF isEmpty()
        Verifies that the content of the actual InputStream is empty.

        Warning: this will consume the first byte of the InputStream.

        Example:

         // assertion will pass
         assertThat(new ByteArrayInputStream(new byte[] {})).isEmpty());
        
         // assertions will fail
         assertThat(new ByteArrayInputStream(new byte[] {0xa})).isEmpty(); 
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given InputStream is null.
        AssertionError - if the content of the actual InputStream is not empty.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        Since:
        3.17.0
      • isNotEmpty

        public SELF isNotEmpty()
        Verifies that the content of the actual InputStream is not empty.

        Warning: this will consume the first byte of the InputStream.

        Example:

         // assertion will pass
         assertThat(new ByteArrayInputStream(new byte[] {0xa})).isNotEmpty());
        
         // assertions will fail
         assertThat(new ByteArrayInputStream(new byte[] {})).isNotEmpty();
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given InputStream is null.
        AssertionError - if the content of the actual InputStream is empty.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        Since:
        3.17.0
      • hasContent

        public SELF hasContent​(String expected)
        Verifies that the content of the actual InputStream is equal to the given String.

        Example:

         // assertion will pass
         assertThat(new ByteArrayInputStream("a".getBytes())).hasContent("a");
        
         // assertions will fail
         assertThat(new ByteArrayInputStream("a".getBytes())).hasContent("");
         assertThat(new ByteArrayInputStream("a".getBytes())).hasContent("ab");
        Parameters:
        expected - the given String to compare the actual InputStream to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given String is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the content of the actual InputStream is not equal to the given String.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        Since:
        3.11.0
      • hasBinaryContent

        public SELF hasBinaryContent​(byte[] expected)
        Verifies that the binary content of the actual InputStream is exactly equal to the given one.

        Example:

         InputStream inputStream = new ByteArrayInputStream(new byte[] {1, 2});
        
         // assertion will pass
         assertThat(inputStream).hasContent(new byte[] {1, 2});
        
         // assertions will fail
         assertThat(inputStream).hasBinaryContent(new byte[] { });
         assertThat(inputStream).hasBinaryContent(new byte[] {0, 0});
        Parameters:
        expected - the expected binary content to compare the actual InputStream's content to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given content is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the content of the actual InputStream is not equal to the given binary content.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        Since:
        3.16.0
      • hasDigest

        public SELF hasDigest​(MessageDigest digest,
                              byte[] expected)
        Verifies that the tested InputStream digest (calculated with the specified MessageDigest) is equal to the given one.

        Examples:

         // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
         InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
        
         // The following assertions succeed:
         assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), new byte[]{92, 90, -28, 91, 88, -15, 32, 35, -127, 122, -66, 73, 36, 71, -51, -57, -111, 44, 26, 44});
         assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), new byte[]{-36, -77, 1, 92, -46, -124, 71, 100, 76, -127, 10, -13, 82, -125, 44, 25});
        
         // The following assertions fail:
         assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad".getBytes());
         assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), "3735dff8e1f9df0492a34ef075205b8f".getBytes());
        Parameters:
        digest - the MessageDigest used to calculate the digests.
        expected - the expected binary content to compare the actual InputStream's digest to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given algorithm is null.
        NullPointerException - if the given digest is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the actual InputStream is not readable.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
        Since:
        3.11.0
      • hasDigest

        public SELF hasDigest​(MessageDigest digest,
                              String expected)
        Verifies that the tested InputStream digest (calculated with the specified MessageDigest) is equal to the given one.

        Examples:

         // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
         InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
        
         // The following assertions succeed:
         assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), "5c5ae45b58f12023817abe492447cdc7912c1a2c");
         assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), "dcb3015cd28447644c810af352832c19");
        
         // The following assertions fail:
         assertThat(tested).hasDigest(MessageDigest.getInstance("SHA1"), "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad");
         assertThat(tested).hasDigest(MessageDigest.getInstance("MD5"), "3735dff8e1f9df0492a34ef075205b8f");
        Parameters:
        digest - the MessageDigest used to calculate the digests.
        expected - the expected binary content to compare the actual InputStream's digest to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given algorithm is null.
        NullPointerException - if the given digest is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the actual InputStream is not readable.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
        Since:
        3.11.0
      • hasDigest

        public SELF hasDigest​(String algorithm,
                              byte[] expected)
        Verifies that the tested InputStream digest (calculated with the specified algorithm) is equal to the given one.

        Examples:

         // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
         InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
        
         // The following assertion succeeds:
         assertThat(tested).hasDigest("SHA1", new byte[]{92, 90, -28, 91, 88, -15, 32, 35, -127, 122, -66, 73, 36, 71, -51, -57, -111, 44, 26, 44});
         assertThat(tested).hasDigest("MD5", new byte[]{-36, -77, 1, 92, -46, -124, 71, 100, 76, -127, 10, -13, 82, -125, 44, 25});
        
         // The following assertion fails:
         assertThat(tested).hasDigest("SHA1", "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad".getBytes());
         assertThat(tested).hasDigest("MD5", "3735dff8e1f9df0492a34ef075205b8f".getBytes()); 
        Parameters:
        algorithm - the algorithm used to calculate the digests.
        expected - the expected binary content to compare the actual InputStream's content to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given algorithm is null.
        NullPointerException - if the given digest is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the actual InputStream is not readable.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
        Since:
        3.11.0
      • hasDigest

        public SELF hasDigest​(String algorithm,
                              String expected)
        Verifies that the tested InputStream digest (calculated with the specified algorithm) is equal to the given one.

        Examples:

         // assume that assertj-core-2.9.0.jar was downloaded from https://repo1.maven.org/maven2/org/assertj/assertj-core/2.9.0/assertj-core-2.9.0.jar
         InputStream tested = new FileInputStream(new File("assertj-core-2.9.0.jar"));
        
         // The following assertion succeeds:
         assertThat(tested).hasDigest("SHA1", "5c5ae45b58f12023817abe492447cdc7912c1a2c");
         assertThat(tested).hasDigest("MD5", "dcb3015cd28447644c810af352832c19");
        
         // The following assertion fails:
         assertThat(tested).hasDigest("SHA1", "93b9ced2ee5b3f0f4c8e640e77470dab031d4cad");
         assertThat(tested).hasDigest("MD5", "3735dff8e1f9df0492a34ef075205b8f"); 
        Parameters:
        algorithm - the algorithm used to calculate the digests.
        expected - the expected binary content to compare the actual InputStream's content to.
        Returns:
        this assertion object.
        Throws:
        NullPointerException - if the given algorithm is null.
        NullPointerException - if the given digest is null.
        AssertionError - if the actual InputStream is null.
        AssertionError - if the actual InputStream is not readable.
        org.assertj.core.internal.InputStreamsException - if an I/O error occurs.
        AssertionError - if the content of the tested InputStream's digest is not equal to the given one.
        Since:
        3.11.0