1 package com.atlassian.dbexporter.node.stax;
2
3 import com.atlassian.dbexporter.ImportExportErrorService;
4 import org.junit.Before;
5 import org.junit.Test;
6 import org.junit.runner.RunWith;
7 import org.mockito.Mock;
8 import org.mockito.junit.MockitoJUnitRunner;
9
10 import javax.xml.bind.DatatypeConverter;
11 import java.io.StringWriter;
12 import java.io.Writer;
13 import java.nio.charset.Charset;
14
15 import static org.hamcrest.CoreMatchers.containsString;
16 import static org.junit.Assert.assertThat;
17
18 @RunWith(MockitoJUnitRunner.class)
19 public class StaxStreamWriterTest {
20 @Mock
21 private ImportExportErrorService errorService;
22 private Writer output;
23
24 private StaxStreamWriter staxStreamWriter;
25
26 @Before
27 public void setUp() {
28 output = new StringWriter();
29 staxStreamWriter = new StaxStreamWriter(errorService, output, Charset.forName("utf-8"), "");
30
31 }
32
33 @Test
34 public void nodeCreatorShouldEncodeBinaryAsBase64() {
35 final byte[] bytes = new byte[]{0, 1, 100, 2};
36
37 staxStreamWriter.addRootNode("root").setContentAsBinary(bytes);
38 staxStreamWriter.close();
39
40 assertThat(output.toString(), containsString(DatatypeConverter.printBase64Binary(bytes)));
41 }
42 }