Skip to content

Commit

Permalink
BigQuery: Add support to FormatOptions for AVRO
Browse files Browse the repository at this point in the history
#1441

Added new constant in FormatOptions and a corresponding factory method. Updated test cases. Confirmed that AVRO does not require special treatment (like CSV does), so no additional changes are required.
  • Loading branch information
vam-google committed Jan 27, 2017
1 parent 34c186f commit 1643cf1
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public class FormatOptions implements Serializable {
static final String CSV = "CSV";
static final String JSON = "NEWLINE_DELIMITED_JSON";
static final String DATASTORE_BACKUP = "DATASTORE_BACKUP";
static final String AVRO = "AVRO";
private static final long serialVersionUID = -443376052020423691L;

private final String type;
Expand Down Expand Up @@ -94,6 +95,13 @@ public static FormatOptions datastoreBackup() {
return new FormatOptions(DATASTORE_BACKUP);
}

/**
* Default options for AVRO format.
*/
public static FormatOptions avro() {
return new FormatOptions(AVRO);
}

/**
* Default options for the provided format.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,29 @@ public void testConstructor() {
assertEquals(FormatOptions.JSON, options.getType());
options = new FormatOptions(FormatOptions.DATASTORE_BACKUP);
assertEquals(FormatOptions.DATASTORE_BACKUP, options.getType());
options = new FormatOptions(FormatOptions.AVRO);
assertEquals(FormatOptions.AVRO, options.getType());
}

@Test
@SuppressWarnings("deprecation")
public void testConstructorDeprecated() {
FormatOptions options = new FormatOptions(FormatOptions.CSV);
assertEquals(FormatOptions.CSV, options.type());
options = new FormatOptions(FormatOptions.JSON);
assertEquals(FormatOptions.JSON, options.type());
options = new FormatOptions(FormatOptions.DATASTORE_BACKUP);
assertEquals(FormatOptions.DATASTORE_BACKUP, options.type());
options = new FormatOptions(FormatOptions.AVRO);
assertEquals(FormatOptions.AVRO, options.type());
}

@Test
public void testFactoryMethods() {
assertEquals(FormatOptions.CSV, FormatOptions.csv().getType());
assertEquals(FormatOptions.JSON, FormatOptions.json().getType());
assertEquals(FormatOptions.DATASTORE_BACKUP, FormatOptions.datastoreBackup().getType());
assertEquals(FormatOptions.AVRO, FormatOptions.avro().getType());
}

@Test
Expand Down

0 comments on commit 1643cf1

Please sign in to comment.