@@ -93,56 +93,88 @@ func TestCmdGenerator(t *testing.T) {
9393}
9494
9595func TestGeneratorIgnoreTables (t * testing.T ) {
96- err := os .RemoveAll (genTestDir2 )
97- require .NoError (t , err )
96+ tests := []struct {
97+ name string
98+ args []string
99+ }{
100+ {
101+ name : "with dsn" ,
102+ args : []string {
103+ "-dsn=" + fmt .Sprintf ("postgresql://%s:%s@%s:%d/%s?sslmode=disable" ,
104+ dbconfig .PgUser ,
105+ dbconfig .PgPassword ,
106+ dbconfig .PgHost ,
107+ dbconfig .PgPort ,
108+ "jetdb" ,
109+ ),
110+ "-schema=dvds" ,
111+ "-ignore-tables=actor,ADDRESS,country, Film , cITY," ,
112+ "-ignore-views=Actor_info, FILM_LIST ,staff_list" ,
113+ "-ignore-enums=mpaa_rating" ,
114+ "-path=" + genTestDir2 ,
115+ },
116+ },
117+ {
118+ name : "without dsn" ,
119+ args : []string {
120+ "-source=PostgreSQL" ,
121+ "-host=localhost" ,
122+ "-port=" + strconv .Itoa (dbconfig .PgPort ),
123+ "-user=jet" ,
124+ "-password=jet" ,
125+ "-dbname=jetdb" ,
126+ "-schema=dvds" ,
127+ "-ignore-tables=actor,ADDRESS,country, Film , cITY," ,
128+ "-ignore-views=Actor_info, FILM_LIST ,staff_list" ,
129+ "-ignore-enums=mpaa_rating" ,
130+ "-path=" + genTestDir2 ,
131+ },
132+ },
133+ }
98134
99- cmd := exec .Command ("jet" ,
100- "-source=PostgreSQL" ,
101- "-host=localhost" ,
102- "-port=" + strconv .Itoa (dbconfig .PgPort ),
103- "-user=jet" ,
104- "-password=jet" ,
105- "-dbname=jetdb" ,
106- "-schema=dvds" ,
107- "-ignore-tables=actor,ADDRESS,country, Film , cITY," ,
108- "-ignore-views=Actor_info, FILM_LIST ,staff_list" ,
109- "-ignore-enums=mpaa_rating" ,
110- "-path=" + genTestDir2 )
135+ for _ , tt := range tests {
136+ t .Run (tt .name , func (t * testing.T ) {
137+ err := os .RemoveAll (genTestDir2 )
138+ require .NoError (t , err )
111139
112- fmt .Println (cmd .Args )
113- cmd .Stderr = os .Stderr
114- cmd .Stdout = os .Stdout
140+ cmd := exec .Command ("jet" , tt .args ... )
115141
116- err = cmd .Run ()
117- require .NoError (t , err )
142+ fmt .Println (cmd .Args )
143+ cmd .Stderr = os .Stderr
144+ cmd .Stdout = os .Stdout
118145
119- // Table SQL Builder files
120- tableSQLBuilderFiles , err := ioutil .ReadDir ("./.gentestdata2/jetdb/dvds/table" )
121- require .NoError (t , err )
146+ err = cmd .Run ()
147+ require .NoError (t , err )
122148
123- testutils . AssertFileNamesEqual ( t , tableSQLBuilderFiles , "category.go" ,
124- "customer.go" , "film_actor.go" , "film_category.go" , "inventory.go" , "language.go" ,
125- "payment.go" , "rental.go" , "staff.go" , "store.go" )
149+ // Table SQL Builder files
150+ tableSQLBuilderFiles , err := ioutil . ReadDir ( "./.gentestdata2/jetdb/dvds/table" )
151+ require . NoError ( t , err )
126152
127- // View SQL Builder files
128- viewSQLBuilderFiles , err := ioutil . ReadDir ( "./.gentestdata2/jetdb/dvds/view" )
129- require . NoError ( t , err )
153+ testutils . AssertFileNamesEqual ( t , tableSQLBuilderFiles , "category.go" ,
154+ "customer.go" , "film_actor.go" , "film_category.go" , "inventory.go" , "language.go" ,
155+ "payment.go" , "rental.go" , "staff.go" , "store.go" )
130156
131- testutils .AssertFileNamesEqual (t , viewSQLBuilderFiles , "nicer_but_slower_film_list.go" ,
132- "sales_by_film_category.go" , "customer_list.go" , "sales_by_store.go" )
157+ // View SQL Builder files
158+ viewSQLBuilderFiles , err := ioutil .ReadDir ("./.gentestdata2/jetdb/dvds/view" )
159+ require .NoError (t , err )
133160
134- // Enums SQL Builder files
135- _ , err = ioutil .ReadDir ("./.gentestdata2/jetdb/dvds/enum" )
136- require .Error (t , err , "open ./.gentestdata2/jetdb/dvds/enum: no such file or directory" )
161+ testutils .AssertFileNamesEqual (t , viewSQLBuilderFiles , "nicer_but_slower_film_list.go" ,
162+ "sales_by_film_category.go" , "customer_list.go" , "sales_by_store.go" )
137163
138- modelFiles , err := ioutil .ReadDir ("./.gentestdata2/jetdb/dvds/model" )
139- require .NoError (t , err )
164+ // Enums SQL Builder files
165+ _ , err = ioutil .ReadDir ("./.gentestdata2/jetdb/dvds/enum" )
166+ require .Error (t , err , "open ./.gentestdata2/jetdb/dvds/enum: no such file or directory" )
140167
141- testutils .AssertFileNamesEqual (t , modelFiles , "category.go" ,
142- "customer.go" , "film_actor.go" , "film_category.go" , "inventory.go" , "language.go" ,
143- "payment.go" , "rental.go" , "staff.go" , "store.go" ,
144- "nicer_but_slower_film_list.go" , "sales_by_film_category.go" ,
145- "customer_list.go" , "sales_by_store.go" )
168+ modelFiles , err := ioutil .ReadDir ("./.gentestdata2/jetdb/dvds/model" )
169+ require .NoError (t , err )
170+
171+ testutils .AssertFileNamesEqual (t , modelFiles , "category.go" ,
172+ "customer.go" , "film_actor.go" , "film_category.go" , "inventory.go" , "language.go" ,
173+ "payment.go" , "rental.go" , "staff.go" , "store.go" ,
174+ "nicer_but_slower_film_list.go" , "sales_by_film_category.go" ,
175+ "customer_list.go" , "sales_by_store.go" )
176+ })
177+ }
146178}
147179
148180func TestGenerator (t * testing.T ) {
0 commit comments