Gen files idempotence test clean up.

This commit is contained in:
go-jet 2020-04-13 10:18:14 +02:00
parent 9d112c7fe7
commit 241ea0d6d6
3 changed files with 99 additions and 18 deletions

View file

@ -197,15 +197,12 @@ func AssertQueryPanicErr(t *testing.T, stmt jet.Statement, db qrm.DB, dest inter
} }
// AssertFileContent check if file content at filePath contains expectedContent text. // AssertFileContent check if file content at filePath contains expectedContent text.
func AssertFileContent(t *testing.T, filePath string, contentBegin string, expectedContent string) { func AssertFileContent(t *testing.T, filePath string, expectedContent string) {
enumFileData, err := ioutil.ReadFile(filePath) enumFileData, err := ioutil.ReadFile(filePath)
assert.NoError(t, err) require.NoError(t, err)
beginIndex := bytes.Index(enumFileData, []byte(contentBegin)) require.Equal(t, "\n"+string(enumFileData), expectedContent)
//AssertDeepEqual(t, string(enumFileData[beginIndex:]), expectedContent)
require.Equal(t, string(enumFileData[beginIndex:]), expectedContent)
} }
// AssertFileNamesEqual check if all filesInfos are contained in fileNames // AssertFileNamesEqual check if all filesInfos are contained in fileNames

View file

@ -67,7 +67,7 @@ func assertGeneratedFiles(t *testing.T) {
"customer.go", "film.go", "film_actor.go", "film_category.go", "film_text.go", "inventory.go", "language.go", "customer.go", "film.go", "film_actor.go", "film_category.go", "film_text.go", "inventory.go", "language.go",
"payment.go", "rental.go", "staff.go", "store.go") "payment.go", "rental.go", "staff.go", "store.go")
testutils.AssertFileContent(t, genTestDir3+"/dvds/table/actor.go", "\npackage table", actorSQLBuilderFile) testutils.AssertFileContent(t, genTestDir3+"/dvds/table/actor.go", actorSQLBuilderFile)
// View SQL Builder files // View SQL Builder files
viewSQLBuilderFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/view") viewSQLBuilderFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/view")
@ -76,14 +76,14 @@ func assertGeneratedFiles(t *testing.T) {
testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go", testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go",
"sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go") "sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go")
testutils.AssertFileContent(t, genTestDir3+"/dvds/view/actor_info.go", "\npackage view", actorInfoSQLBuilderFile) testutils.AssertFileContent(t, genTestDir3+"/dvds/view/actor_info.go", actorInfoSQLBuilderFile)
// Enums SQL Builder files // Enums SQL Builder files
enumFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/enum") enumFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/enum")
assert.NoError(t, err) assert.NoError(t, err)
testutils.AssertFileNamesEqual(t, enumFiles, "film_rating.go", "film_list_rating.go", "nicer_but_slower_film_list_rating.go") testutils.AssertFileNamesEqual(t, enumFiles, "film_rating.go", "film_list_rating.go", "nicer_but_slower_film_list_rating.go")
testutils.AssertFileContent(t, genTestDir3+"/dvds/enum/film_rating.go", "\npackage enum", mpaaRatingEnumFile) testutils.AssertFileContent(t, genTestDir3+"/dvds/enum/film_rating.go", mpaaRatingEnumFile)
// Model files // Model files
modelFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/model") modelFiles, err := ioutil.ReadDir(genTestDir3 + "/dvds/model")
@ -96,10 +96,17 @@ func assertGeneratedFiles(t *testing.T) {
"actor_info.go", "film_list.go", "nicer_but_slower_film_list.go", "sales_by_film_category.go", "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go", "sales_by_film_category.go",
"customer_list.go", "sales_by_store.go", "staff_list.go") "customer_list.go", "sales_by_store.go", "staff_list.go")
testutils.AssertFileContent(t, genTestDir3+"/dvds/model/actor.go", "\npackage model", actorModelFile) testutils.AssertFileContent(t, genTestDir3+"/dvds/model/actor.go", actorModelFile)
} }
var mpaaRatingEnumFile = ` var mpaaRatingEnumFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package enum package enum
import "github.com/go-jet/jet/mysql" import "github.com/go-jet/jet/mysql"
@ -120,6 +127,13 @@ var FilmRating = &struct {
` `
var actorSQLBuilderFile = ` var actorSQLBuilderFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package table package table
import ( import (
@ -187,6 +201,13 @@ func newActorTableImpl(schemaName, tableName string) actorTable {
` `
var actorModelFile = ` var actorModelFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package model package model
import ( import (
@ -202,6 +223,13 @@ type Actor struct {
` `
var actorInfoSQLBuilderFile = ` var actorInfoSQLBuilderFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package view package view
import ( import (

View file

@ -101,7 +101,7 @@ func assertGeneratedFiles(t *testing.T) {
"customer.go", "film.go", "film_actor.go", "film_category.go", "inventory.go", "language.go", "customer.go", "film.go", "film_actor.go", "film_category.go", "inventory.go", "language.go",
"payment.go", "rental.go", "staff.go", "store.go") "payment.go", "rental.go", "staff.go", "store.go")
testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/table/actor.go", "\npackage table", actorSQLBuilderFile) testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/table/actor.go", actorSQLBuilderFile)
// View SQL Builder files // View SQL Builder files
viewSQLBuilderFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/view") viewSQLBuilderFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/view")
@ -110,14 +110,14 @@ func assertGeneratedFiles(t *testing.T) {
testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go", testutils.AssertFileNamesEqual(t, viewSQLBuilderFiles, "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go",
"sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go") "sales_by_film_category.go", "customer_list.go", "sales_by_store.go", "staff_list.go")
testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/view/actor_info.go", "\npackage view", actorInfoSQLBuilderFile) testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/view/actor_info.go", actorInfoSQLBuilderFile)
// Enums SQL Builder files // Enums SQL Builder files
enumFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/enum") enumFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/enum")
assert.NoError(t, err) assert.NoError(t, err)
testutils.AssertFileNamesEqual(t, enumFiles, "mpaa_rating.go") testutils.AssertFileNamesEqual(t, enumFiles, "mpaa_rating.go")
testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/enum/mpaa_rating.go", "\npackage enum", mpaaRatingEnumFile) testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/enum/mpaa_rating.go", mpaaRatingEnumFile)
// Model files // Model files
modelFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/model") modelFiles, err := ioutil.ReadDir("./.gentestdata2/jetdb/dvds/model")
@ -129,10 +129,17 @@ func assertGeneratedFiles(t *testing.T) {
"actor_info.go", "film_list.go", "nicer_but_slower_film_list.go", "sales_by_film_category.go", "actor_info.go", "film_list.go", "nicer_but_slower_film_list.go", "sales_by_film_category.go",
"customer_list.go", "sales_by_store.go", "staff_list.go") "customer_list.go", "sales_by_store.go", "staff_list.go")
testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/model/actor.go", "\npackage model", actorModelFile) testutils.AssertFileContent(t, "./.gentestdata2/jetdb/dvds/model/actor.go", actorModelFile)
} }
var mpaaRatingEnumFile = ` var mpaaRatingEnumFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package enum package enum
import "github.com/go-jet/jet/postgres" import "github.com/go-jet/jet/postgres"
@ -153,6 +160,13 @@ var MpaaRating = &struct {
` `
var actorSQLBuilderFile = ` var actorSQLBuilderFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package table package table
import ( import (
@ -220,6 +234,13 @@ func newActorTableImpl(schemaName, tableName string) actorTable {
` `
var actorModelFile = ` var actorModelFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package model package model
import ( import (
@ -235,6 +256,13 @@ type Actor struct {
` `
var actorInfoSQLBuilderFile = ` var actorInfoSQLBuilderFile = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package view package view
import ( import (
@ -310,8 +338,8 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
testutils.AssertFileNamesEqual(t, enumFiles, "mood.go", "level.go") testutils.AssertFileNamesEqual(t, enumFiles, "mood.go", "level.go")
testutils.AssertFileContent(t, enumDir+"mood.go", "\npackage enum", moodEnumContent) testutils.AssertFileContent(t, enumDir+"mood.go", moodEnumContent)
testutils.AssertFileContent(t, enumDir+"level.go", "\npackage enum", levelEnumContent) testutils.AssertFileContent(t, enumDir+"level.go", levelEnumContent)
modelFiles, err := ioutil.ReadDir(modelDir) modelFiles, err := ioutil.ReadDir(modelDir)
assert.NoError(t, err) assert.NoError(t, err)
@ -319,7 +347,7 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
testutils.AssertFileNamesEqual(t, modelFiles, "all_types.go", "all_types_view.go", "employee.go", "link.go", testutils.AssertFileNamesEqual(t, modelFiles, "all_types.go", "all_types_view.go", "employee.go", "link.go",
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go") "mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go")
testutils.AssertFileContent(t, modelDir+"all_types.go", "\npackage model", allTypesModelContent) testutils.AssertFileContent(t, modelDir+"all_types.go", allTypesModelContent)
tableFiles, err := ioutil.ReadDir(tableDir) tableFiles, err := ioutil.ReadDir(tableDir)
assert.NoError(t, err) assert.NoError(t, err)
@ -327,10 +355,17 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
testutils.AssertFileNamesEqual(t, tableFiles, "all_types.go", "employee.go", "link.go", testutils.AssertFileNamesEqual(t, tableFiles, "all_types.go", "employee.go", "link.go",
"person.go", "person_phone.go", "weird_names_table.go", "user.go") "person.go", "person_phone.go", "weird_names_table.go", "user.go")
testutils.AssertFileContent(t, tableDir+"all_types.go", "\npackage table", allTypesTableContent) testutils.AssertFileContent(t, tableDir+"all_types.go", allTypesTableContent)
} }
var moodEnumContent = ` var moodEnumContent = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package enum package enum
import "github.com/go-jet/jet/postgres" import "github.com/go-jet/jet/postgres"
@ -347,6 +382,13 @@ var Mood = &struct {
` `
var levelEnumContent = ` var levelEnumContent = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package enum package enum
import "github.com/go-jet/jet/postgres" import "github.com/go-jet/jet/postgres"
@ -367,6 +409,13 @@ var Level = &struct {
` `
var allTypesModelContent = ` var allTypesModelContent = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package model package model
import ( import (
@ -440,6 +489,13 @@ type AllTypes struct {
` `
var allTypesTableContent = ` var allTypesTableContent = `
//
// Code generated by go-jet DO NOT EDIT.
//
// WARNING: Changes to this file may cause incorrect behavior
// and will be lost if the code is regenerated
//
package table package table
import ( import (