1818
1919import static com .google .edwmigration .dumper .application .dumper .connector .teradata .MetadataQueryGenerator .DBC_INFO_QUERY ;
2020import static com .google .edwmigration .dumper .application .dumper .connector .teradata .MetadataQueryGenerator .createSelectForAllTempTablesVX ;
21+ import static com .google .edwmigration .dumper .application .dumper .connector .teradata .MetadataQueryGenerator .createSelectForDiskSpaceV ;
2122import static com .google .edwmigration .dumper .application .dumper .connector .teradata .MetadataQueryGenerator .createSelectForTableTextV ;
2223import static com .google .edwmigration .dumper .application .dumper .connector .teradata .query .TeradataSelectBuilder .eq ;
2324import static com .google .edwmigration .dumper .application .dumper .connector .teradata .query .TeradataSelectBuilder .identifier ;
@@ -37,34 +38,40 @@ public class MetadataQueryGeneratorTest {
3738
3839 @ Test
3940 public void createSelectForDatabasesV_noLimits () {
41+ // Act
4042 String query =
4143 MetadataQueryGenerator .createSelectForDatabasesV (
4244 /* userRows= */ OptionalLong .empty (),
4345 /* dbRows= */ OptionalLong .empty (),
4446 /* condition= */ Optional .empty ());
4547
48+ // Assert
4649 assertQueryEquals ("SELECT %s FROM DBC.DatabasesV" , query );
4750 }
4851
4952 @ Test
5053 public void createSelectForDatabasesV_condition () {
54+ // Act
5155 String query =
5256 MetadataQueryGenerator .createSelectForDatabasesV (
5357 /* userRows= */ OptionalLong .empty (),
5458 /* dbRows= */ OptionalLong .empty (),
5559 /* condition= */ Optional .of (eq (identifier ("DatabaseName" ), stringLiteral ("abc" ))));
5660
61+ // Assert
5762 assertQueryEquals ("SELECT %s FROM DBC.DatabasesV WHERE DatabaseName = 'abc'" , query );
5863 }
5964
6065 @ Test
6166 public void createSelectForDatabasesV_usersLimit () {
67+ // Act
6268 String query =
6369 MetadataQueryGenerator .createSelectForDatabasesV (
6470 /* userRows= */ OptionalLong .of (13 ),
6571 /* dbRows= */ OptionalLong .empty (),
6672 /* condition= */ Optional .empty ());
6773
74+ // Assert
6875 assertQueryEquals (
6976 "SELECT %s FROM ("
7077 + " SELECT * FROM (SELECT TOP 13 * FROM DBC.DatabasesV"
@@ -77,12 +84,14 @@ public void createSelectForDatabasesV_usersLimit() {
7784
7885 @ Test
7986 public void createSelectForDatabasesV_usersLimitAndCondition () {
87+ // Act
8088 String query =
8189 MetadataQueryGenerator .createSelectForDatabasesV (
8290 /* userRows= */ OptionalLong .of (13 ),
8391 /* dbRows= */ OptionalLong .empty (),
8492 /* condition= */ Optional .of (eq (identifier ("DatabaseName" ), stringLiteral ("abc" ))));
8593
94+ // Assert
8695 assertQueryEquals (
8796 "SELECT %s FROM ("
8897 + " SELECT * FROM (SELECT TOP 13 * FROM DBC.DatabasesV"
@@ -96,12 +105,14 @@ public void createSelectForDatabasesV_usersLimitAndCondition() {
96105
97106 @ Test
98107 public void createSelectForDatabasesV_dbsLimit () {
108+ // Act
99109 String query =
100110 MetadataQueryGenerator .createSelectForDatabasesV (
101111 /* userRows= */ OptionalLong .empty (),
102112 /* dbRows= */ OptionalLong .of (18 ),
103113 /* condition= */ Optional .empty ());
104114
115+ // Assert
105116 assertQueryEquals (
106117 "SELECT %s FROM ("
107118 + " SELECT * FROM (SELECT * FROM DBC.DatabasesV WHERE DBKind = 'U') AS users"
@@ -114,12 +125,14 @@ public void createSelectForDatabasesV_dbsLimit() {
114125
115126 @ Test
116127 public void createSelectForDatabasesV_usersAndDbsLimit () {
128+ // Act
117129 String query =
118130 MetadataQueryGenerator .createSelectForDatabasesV (
119131 /* userRows= */ OptionalLong .of (15 ),
120132 /* dbRows= */ OptionalLong .of (18 ),
121133 /* condition= */ Optional .empty ());
122134
135+ // Assert
123136 assertQueryEquals (
124137 "SELECT %s FROM ("
125138 + " SELECT * FROM (SELECT TOP 15 * FROM DBC.DatabasesV"
@@ -133,13 +146,15 @@ public void createSelectForDatabasesV_usersAndDbsLimit() {
133146
134147 @ Test
135148 public void createSelectForDatabasesV_usersAndDbsLimitAndCondition () {
149+ // Act
136150 String query =
137151 MetadataQueryGenerator .createSelectForDatabasesV (
138152 /* userRows= */ OptionalLong .of (15 ),
139153 /* dbRows= */ OptionalLong .of (18 ),
140154 /* condition= */ Optional .of (
141155 in (identifier ("DatabaseName" ), ImmutableList .of ("db1" , "db2" ))));
142156
157+ // Assert
143158 assertQueryEquals (
144159 "SELECT %s FROM ("
145160 + " SELECT * FROM (SELECT TOP 15 * FROM DBC.DatabasesV"
@@ -171,10 +186,12 @@ public void createSimpleSelect_success() {
171186
172187 @ Test
173188 public void createSimpleSelect_withCondition () {
189+ // Act
174190 String query =
175191 MetadataQueryGenerator .createSimpleSelect (
176192 "SampleTable" , Optional .of (eq (identifier ("col_a" ), stringLiteral ("abc" ))));
177193
194+ // Assert
178195 assertQueryEquals ("SELECT %s FROM SampleTable WHERE col_a = 'abc'" , query );
179196 }
180197
@@ -193,9 +210,12 @@ public void createSelectForAllTempTablesVX_withDatabaseFiltering_success() {
193210
194211 @ Test
195212 public void createSelectForTableTextV_success () {
213+ // Act
196214 String query =
197215 createSelectForTableTextV (
198216 /* textMaxLength= */ OptionalLong .empty (), /* condition= */ Optional .empty ());
217+
218+ // Assert
199219 assertQueryEquals ("SELECT %s FROM DBC.TableTextV" , query );
200220 }
201221
@@ -253,4 +273,60 @@ public void createSelectForTableTextV_withTextMaxLengthAndCondition() {
253273 + " WHERE DatabaseName = 'sample_db'" ,
254274 query );
255275 }
276+
277+ @ Test
278+ public void createSelectForDiskSpaceV_success () {
279+ // Act
280+ String query =
281+ createSelectForDiskSpaceV (
282+ /* rowCount= */ OptionalLong .empty (), /* condition= */ Optional .empty ());
283+
284+ // Assert
285+ assertQueryEquals ("SELECT %s FROM (SELECT * FROM DBC.DiskSpaceV) AS t" , query );
286+ }
287+
288+ @ Test
289+ public void createSelectForDiskSpaceV_withCondition () {
290+ // Act
291+ String query =
292+ createSelectForDiskSpaceV (
293+ /* rowCount= */ OptionalLong .empty (),
294+ /* condition= */ Optional .of (
295+ eq (identifier ("DatabaseName" ), stringLiteral ("sample_db" ))));
296+
297+ // Assert
298+ assertQueryEquals (
299+ "SELECT %s FROM (SELECT * FROM DBC.DiskSpaceV WHERE DatabaseName = 'sample_db') AS t" ,
300+ query );
301+ }
302+
303+ @ Test
304+ public void createSelectForDiskSpaceV_withLimit () {
305+ // Act
306+ String query =
307+ createSelectForDiskSpaceV (
308+ /* rowCount= */ OptionalLong .of (15 ), /* condition= */ Optional .empty ());
309+
310+ // Assert
311+ assertQueryEquals (
312+ "SELECT %s FROM (SELECT TOP 15 * FROM DBC.DiskSpaceV ORDER BY CurrentPerm DESC) AS t" ,
313+ query );
314+ }
315+
316+ @ Test
317+ public void createSelectForDiskSpaceV_withLimitAndCondition () {
318+ // Act
319+ String query =
320+ createSelectForDiskSpaceV (
321+ /* rowCount= */ OptionalLong .of (78 ),
322+ /* condition= */ Optional .of (
323+ eq (identifier ("DatabaseName" ), stringLiteral ("sample_db" ))));
324+
325+ // Assert
326+ assertQueryEquals (
327+ "SELECT %s FROM (SELECT TOP 78 * FROM DBC.DiskSpaceV"
328+ + " WHERE DatabaseName = 'sample_db'"
329+ + " ORDER BY CurrentPerm DESC) AS t" ,
330+ query );
331+ }
256332}
0 commit comments