19
19
import static com .google .common .truth .Truth .assertThat ;
20
20
import static junit .framework .TestCase .assertNotNull ;
21
21
22
- import com .google .cloud .bigquery .BigQuery ;
23
- import com .google .cloud .bigquery .BigQueryOptions ;
24
- import com .google .cloud .bigquery .DatasetInfo ;
25
- import com .google .cloud .bigquery .datatransfer .v1 .CreateTransferConfigRequest ;
26
- import com .google .cloud .bigquery .datatransfer .v1 .DataTransferServiceClient ;
27
- import com .google .cloud .bigquery .datatransfer .v1 .ProjectName ;
28
- import com .google .cloud .bigquery .datatransfer .v1 .TransferConfig ;
29
- import com .google .protobuf .Struct ;
30
- import com .google .protobuf .Value ;
31
22
import java .io .ByteArrayOutputStream ;
32
23
import java .io .IOException ;
33
24
import java .io .PrintStream ;
34
- import java .util .HashMap ;
35
- import java .util .Map ;
36
- import java .util .UUID ;
37
25
import java .util .logging .Level ;
38
26
import java .util .logging .Logger ;
39
27
import org .junit .After ;
44
32
public class RunHistoryIT {
45
33
46
34
private static final Logger LOG = Logger .getLogger (GetTransferConfigInfoIT .class .getName ());
47
- private static final String ID = UUID .randomUUID ().toString ().substring (0 , 8 );
48
- private BigQuery bigquery ;
49
35
private ByteArrayOutputStream bout ;
50
- private String name ;
51
- private String displayName ;
52
- private String datasetName ;
53
36
private PrintStream out ;
54
37
private PrintStream originalPrintStream ;
55
38
56
- private static final String PROJECT_ID = requireEnvVar ("GOOGLE_CLOUD_PROJECT " );
39
+ private static final String CONFIG_NAME = requireEnvVar ("DTS_TRANSFER_CONFIG_NAME " );
57
40
58
41
private static String requireEnvVar (String varName ) {
59
42
String value = System .getenv (varName );
@@ -65,61 +48,19 @@ private static String requireEnvVar(String varName) {
65
48
66
49
@ BeforeClass
67
50
public static void checkRequirements () {
68
- requireEnvVar ("GOOGLE_CLOUD_PROJECT " );
51
+ requireEnvVar ("DTS_TRANSFER_CONFIG_NAME " );
69
52
}
70
53
71
54
@ Before
72
- public void setUp () throws IOException {
55
+ public void setUp () {
73
56
bout = new ByteArrayOutputStream ();
74
57
out = new PrintStream (bout );
75
58
originalPrintStream = System .out ;
76
59
System .setOut (out );
77
-
78
- displayName = "MY_SCHEDULE_NAME_TEST_" + ID ;
79
- datasetName = "MY_DATASET_NAME_TEST_" + ID ;
80
- // create a temporary dataset
81
- bigquery = BigQueryOptions .getDefaultInstance ().getService ();
82
- bigquery .create (DatasetInfo .of (datasetName ));
83
- // create a scheduled query
84
- String query =
85
- "SELECT CURRENT_TIMESTAMP() as current_time, @run_time as intended_run_time, "
86
- + "@run_date as intended_run_date, 17 as some_integer" ;
87
- String destinationTableName =
88
- "MY_DESTINATION_TABLE_" + UUID .randomUUID ().toString ().substring (0 , 8 ) + "_{run_date}" ;
89
- Map <String , Value > params = new HashMap <>();
90
- params .put ("query" , Value .newBuilder ().setStringValue (query ).build ());
91
- params .put (
92
- "destination_table_name_template" ,
93
- Value .newBuilder ().setStringValue (destinationTableName ).build ());
94
- params .put ("write_disposition" , Value .newBuilder ().setStringValue ("WRITE_TRUNCATE" ).build ());
95
- params .put ("partitioning_field" , Value .newBuilder ().setStringValue ("" ).build ());
96
- TransferConfig transferConfig =
97
- TransferConfig .newBuilder ()
98
- .setDestinationDatasetId (datasetName )
99
- .setDisplayName (displayName )
100
- .setDataSourceId ("scheduled_query" )
101
- .setParams (Struct .newBuilder ().putAllFields (params ).build ())
102
- .setSchedule ("every 24 hours" )
103
- .build ();
104
- try (DataTransferServiceClient dataTransferServiceClient = DataTransferServiceClient .create ()) {
105
- ProjectName parent = ProjectName .of (PROJECT_ID );
106
- CreateTransferConfigRequest request =
107
- CreateTransferConfigRequest .newBuilder ()
108
- .setParent (parent .toString ())
109
- .setTransferConfig (transferConfig )
110
- .build ();
111
- name = dataTransferServiceClient .createTransferConfig (request ).getName ();
112
- System .out .println ("\n Scheduled query created successfully :" + name );
113
- }
114
60
}
115
61
116
62
@ After
117
- public void tearDown () throws IOException {
118
- // delete scheduled query that was just created
119
- DeleteScheduledQuery .deleteScheduledQuery (name );
120
- // delete a temporary dataset
121
- bigquery .delete (datasetName , BigQuery .DatasetDeleteOption .deleteContents ());
122
-
63
+ public void tearDown () {
123
64
// restores print statements in the original method
124
65
System .out .flush ();
125
66
System .setOut (originalPrintStream );
@@ -128,7 +69,7 @@ public void tearDown() throws IOException {
128
69
129
70
@ Test
130
71
public void testRunHistory () throws IOException {
131
- RunHistory .runHistory (name );
72
+ RunHistory .runHistory (CONFIG_NAME );
132
73
assertThat (bout .toString ()).contains ("Success! Run ID :" );
133
74
}
134
75
}
0 commit comments