Skip to content

Commit ba5ed7c

Browse files
committed
Add test to verify that a resource is provided that returns a filename.
This resolves BAOBAB-2730, #43.
1 parent 6613fc4 commit ba5ed7c

2 files changed

Lines changed: 48 additions & 0 deletions

File tree

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.afrozaar.wordpress.wpapi.v2.util;
2+
3+
import org.springframework.core.io.ByteArrayResource;
4+
5+
public class FilenameWrapperByteArrayResource extends ByteArrayResource {
6+
final String fileName;
7+
8+
public FilenameWrapperByteArrayResource(byte[] byteArray, String fileName) {
9+
super(byteArray);
10+
this.fileName = fileName;
11+
}
12+
13+
public FilenameWrapperByteArrayResource(byte[] byteArray, String description, String fileName) {
14+
super(byteArray, description);
15+
this.fileName = fileName;
16+
}
17+
18+
@Override
19+
public String getFilename() {
20+
return fileName;
21+
}
22+
}

src/test/java/com/afrozaar/wordpress/wpapi/v2/WordpressClientTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,18 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44

5+
import static org.junit.Assert.fail;
6+
57
import com.afrozaar.wordpress.wpapi.v2.config.ClientConfig;
68
import com.afrozaar.wordpress.wpapi.v2.config.ClientFactory;
9+
import com.afrozaar.wordpress.wpapi.v2.exception.WpApiParsedException;
710
import com.afrozaar.wordpress.wpapi.v2.model.Post;
11+
import com.afrozaar.wordpress.wpapi.v2.model.builder.MediaBuilder;
812
import com.afrozaar.wordpress.wpapi.v2.model.builder.PostBuilder;
913
import com.afrozaar.wordpress.wpapi.v2.model.builder.TitleBuilder;
14+
import com.afrozaar.wordpress.wpapi.v2.util.FilenameWrapperByteArrayResource;
15+
16+
import org.springframework.core.io.ByteArrayResource;
1017

1118
import org.junit.Test;
1219
import org.slf4j.Logger;
@@ -46,4 +53,23 @@ public void PostFieldProcessingTest() {
4653

4754
}
4855

56+
@Test(expected = NullPointerException.class)
57+
public void CreateMedia_MustFallOverWhenResourceDoesNotReturnFilename() throws WpApiParsedException {
58+
wordpress.createMedia(MediaBuilder.aMedia().build(), new ByteArrayResource(new byte[0]));
59+
}
60+
61+
@Test
62+
public void CreateMedia_MustNotFallOverWhenResourceReturnsFileName() throws WpApiParsedException {
63+
64+
65+
66+
try {
67+
wordpress.createMedia(MediaBuilder.aMedia().build(), new FilenameWrapperByteArrayResource(new byte[0], "myfile.png"));
68+
} catch (RuntimeException e) {
69+
if (e instanceof NullPointerException) {
70+
fail("Did not expect a nullpointer exception");
71+
}
72+
}
73+
}
74+
4975
}

0 commit comments

Comments
 (0)