Additional documentation for sub packages.
This commit is contained in:
parent
b10270b502
commit
556578cec9
19 changed files with 111 additions and 77 deletions
|
|
@ -106,7 +106,7 @@ func TestJoinEverything(t *testing.T) {
|
|||
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, len(dest), 275)
|
||||
assertJsonFile(t, "./testdata/joined_everything.json", dest)
|
||||
assertJSONFile(t, "./testdata/joined_everything.json", dest)
|
||||
}
|
||||
|
||||
func TestSelfJoin(t *testing.T) {
|
||||
|
|
@ -146,7 +146,7 @@ ORDER BY "Employee"."EmployeeId";
|
|||
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, len(dest), 8)
|
||||
assertJson(t, dest[0:2], `
|
||||
assertJSON(t, dest[0:2], `
|
||||
[
|
||||
{
|
||||
"EmployeeId": 1,
|
||||
|
|
@ -285,7 +285,7 @@ func TestSubQueriesForQuotedNames(t *testing.T) {
|
|||
LIMIT(10).
|
||||
AsTable("first10Artist")
|
||||
|
||||
artistId := Artist.ArtistId.From(first10Artist)
|
||||
artistID := Artist.ArtistId.From(first10Artist)
|
||||
|
||||
first10Albums := Album.
|
||||
SELECT(Album.AllColumns).
|
||||
|
|
@ -293,12 +293,12 @@ func TestSubQueriesForQuotedNames(t *testing.T) {
|
|||
LIMIT(10).
|
||||
AsTable("first10Albums")
|
||||
|
||||
albumArtistId := Album.ArtistId.From(first10Albums)
|
||||
albumArtistID := Album.ArtistId.From(first10Albums)
|
||||
|
||||
stmt := first10Artist.
|
||||
INNER_JOIN(first10Albums, artistId.EQ(albumArtistId)).
|
||||
INNER_JOIN(first10Albums, artistID.EQ(albumArtistID)).
|
||||
SELECT(first10Artist.AllColumns(), first10Albums.AllColumns()).
|
||||
ORDER_BY(artistId)
|
||||
ORDER_BY(artistID)
|
||||
|
||||
assertStatementSql(t, stmt, `
|
||||
SELECT "first10Artist"."Artist.ArtistId" AS "Artist.ArtistId",
|
||||
|
|
@ -337,26 +337,26 @@ ORDER BY "first10Artist"."Artist.ArtistId";
|
|||
//spew.Dump(dest)
|
||||
}
|
||||
|
||||
func assertJson(t *testing.T, data interface{}, expectedJson string) {
|
||||
func assertJSON(t *testing.T, data interface{}, expectedJSON string) {
|
||||
jsonData, err := json.MarshalIndent(data, "", "\t")
|
||||
assert.NilError(t, err)
|
||||
|
||||
assert.Equal(t, "\n"+string(jsonData)+"\n", expectedJson)
|
||||
assert.Equal(t, "\n"+string(jsonData)+"\n", expectedJSON)
|
||||
}
|
||||
|
||||
func assertJsonFile(t *testing.T, jsonFilePath string, data interface{}) {
|
||||
fileJsonData, err := ioutil.ReadFile(jsonFilePath)
|
||||
func assertJSONFile(t *testing.T, jsonFilePath string, data interface{}) {
|
||||
fileJSONData, err := ioutil.ReadFile(jsonFilePath)
|
||||
assert.NilError(t, err)
|
||||
|
||||
if runtime.GOOS == "windows" {
|
||||
fileJsonData = bytes.Replace(fileJsonData, []byte("\r\n"), []byte("\n"), -1)
|
||||
fileJSONData = bytes.Replace(fileJSONData, []byte("\r\n"), []byte("\n"), -1)
|
||||
}
|
||||
|
||||
jsonData, err := json.MarshalIndent(data, "", "\t")
|
||||
assert.NilError(t, err)
|
||||
|
||||
assert.Assert(t, string(fileJsonData) == string(jsonData))
|
||||
//assert.Equal(t, string(fileJsonData), string(jsonData))
|
||||
assert.Assert(t, string(fileJSONData) == string(jsonData))
|
||||
//assert.Equal(t, string(fileJSONData), string(jsonData))
|
||||
}
|
||||
|
||||
func jsonPrint(v interface{}) {
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package dbconfig
|
|||
|
||||
import "fmt"
|
||||
|
||||
// test database connection parameters
|
||||
const (
|
||||
Host = "localhost"
|
||||
Port = 5432
|
||||
|
|
@ -10,4 +11,5 @@ const (
|
|||
DBName = "jetdb"
|
||||
)
|
||||
|
||||
// ConnectString is PostgreSQL connection string
|
||||
var ConnectString = fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", Host, Port, User, Password, DBName)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"github.com/go-jet/jet/generator/postgres"
|
||||
"github.com/go-jet/jet/tests/dbconfig"
|
||||
_ "github.com/lib/pq"
|
||||
"io/ioutil"
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -61,5 +61,5 @@ func TestNorthwindJoinEverything(t *testing.T) {
|
|||
assert.NilError(t, err)
|
||||
|
||||
//jsonSave("./testdata/northwind-all.json", dest)
|
||||
assertJsonFile(t, "./testdata/northwind-all.json", dest)
|
||||
assertJSONFile(t, "./testdata/northwind-all.json", dest)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ FROM test_sample.person;
|
|||
err := query.Query(db, &result)
|
||||
|
||||
assert.NilError(t, err)
|
||||
assertJson(t, result, `
|
||||
assertJSON(t, result, `
|
||||
[
|
||||
{
|
||||
"PersonID": "b68dbff4-a87d-11e9-a7f2-98ded00c39c6",
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ func TestScanToInvalidDestination(t *testing.T) {
|
|||
t.Run("nil dest", func(t *testing.T) {
|
||||
err := query.Query(db, nil)
|
||||
|
||||
assert.Error(t, err, "jet: Destination is nil.")
|
||||
assert.Error(t, err, "jet: Destination is nil")
|
||||
})
|
||||
|
||||
t.Run("struct dest", func(t *testing.T) {
|
||||
|
|
|
|||
|
|
@ -532,7 +532,7 @@ ORDER BY city.city_id, address.address_id, customer.customer_id;
|
|||
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, len(dest), 2)
|
||||
assertJson(t, dest, `
|
||||
assertJSON(t, dest, `
|
||||
[
|
||||
{
|
||||
"CityID": 312,
|
||||
|
|
@ -886,11 +886,11 @@ FROM dvds.actor
|
|||
WHERE(Film.Rating.EQ(enum.MpaaRating.R)).
|
||||
AsTable("rFilms")
|
||||
|
||||
rFilmId := Film.FilmID.From(rRatingFilms)
|
||||
rFilmID := Film.FilmID.From(rRatingFilms)
|
||||
|
||||
query := Actor.
|
||||
INNER_JOIN(FilmActor, Actor.ActorID.EQ(FilmActor.FilmID)).
|
||||
INNER_JOIN(rRatingFilms, FilmActor.FilmID.EQ(rFilmId)).
|
||||
INNER_JOIN(rRatingFilms, FilmActor.FilmID.EQ(rFilmID)).
|
||||
SELECT(
|
||||
Actor.AllColumns,
|
||||
FilmActor.AllColumns,
|
||||
|
|
@ -1077,11 +1077,11 @@ ORDER BY customer_payment_sum."amount_sum" ASC;
|
|||
GROUP_BY(Payment.CustomerID).
|
||||
AsTable("customer_payment_sum")
|
||||
|
||||
customerId := Payment.CustomerID.From(customersPayments)
|
||||
customerID := Payment.CustomerID.From(customersPayments)
|
||||
amountSum := FloatColumn("amount_sum").From(customersPayments)
|
||||
|
||||
query := Customer.
|
||||
INNER_JOIN(customersPayments, Customer.CustomerID.EQ(customerId)).
|
||||
INNER_JOIN(customersPayments, Customer.CustomerID.EQ(customerID)).
|
||||
SELECT(
|
||||
Customer.AllColumns,
|
||||
amountSum.AS("CustomerWithAmounts.AmountSum"),
|
||||
|
|
@ -1123,7 +1123,7 @@ func TestSelectStaff(t *testing.T) {
|
|||
|
||||
assert.NilError(t, err)
|
||||
|
||||
assertJson(t, staffs, `
|
||||
assertJSON(t, staffs, `
|
||||
[
|
||||
{
|
||||
"StaffID": 1,
|
||||
|
|
@ -1304,15 +1304,15 @@ LIMIT 20;
|
|||
assertStatementSql(t, query, expectedQuery, int64(1), "ONE", int64(2), "TWO", int64(3), "THREE", "OTHER", int64(20))
|
||||
|
||||
dest := []struct {
|
||||
StaffIdNum string
|
||||
StaffIDNum string
|
||||
}{}
|
||||
|
||||
err := query.Query(db, &dest)
|
||||
|
||||
assert.NilError(t, err)
|
||||
assert.Equal(t, len(dest), 20)
|
||||
assert.Equal(t, dest[0].StaffIdNum, "TWO")
|
||||
assert.Equal(t, dest[1].StaffIdNum, "ONE")
|
||||
assert.Equal(t, dest[0].StaffIDNum, "TWO")
|
||||
assert.Equal(t, dest[1].StaffIDNum, "ONE")
|
||||
}
|
||||
|
||||
func TestLockTable(t *testing.T) {
|
||||
|
|
@ -1506,7 +1506,7 @@ ORDER BY actor.actor_id ASC, film.film_id ASC;
|
|||
assert.NilError(t, err)
|
||||
|
||||
//jsonSave("./testdata/quick-start-dest.json", dest)
|
||||
assertJsonFile(t, "./testdata/quick-start-dest.json", dest)
|
||||
assertJSONFile(t, "./testdata/quick-start-dest.json", dest)
|
||||
|
||||
var dest2 []struct {
|
||||
model.Category
|
||||
|
|
@ -1519,7 +1519,7 @@ ORDER BY actor.actor_id ASC, film.film_id ASC;
|
|||
assert.NilError(t, err)
|
||||
|
||||
//jsonSave("./testdata/quick-start-dest2.json", dest2)
|
||||
assertJsonFile(t, "./testdata/quick-start-dest2.json", dest2)
|
||||
assertJSONFile(t, "./testdata/quick-start-dest2.json", dest2)
|
||||
}
|
||||
|
||||
func TestQuickStartWithSubQueries(t *testing.T) {
|
||||
|
|
@ -1529,22 +1529,22 @@ func TestQuickStartWithSubQueries(t *testing.T) {
|
|||
WHERE(Film.Length.GT(Int(180))).
|
||||
AsTable("films")
|
||||
|
||||
filmId := Film.FilmID.From(filmLogerThan180)
|
||||
filmLanguageId := Film.LanguageID.From(filmLogerThan180)
|
||||
filmID := Film.FilmID.From(filmLogerThan180)
|
||||
filmLanguageID := Film.LanguageID.From(filmLogerThan180)
|
||||
|
||||
categoriesNotAction := Category.
|
||||
SELECT(Category.AllColumns).
|
||||
WHERE(Category.Name.NOT_EQ(String("Action"))).
|
||||
AsTable("categories")
|
||||
|
||||
categoryId := Category.CategoryID.From(categoriesNotAction)
|
||||
categoryID := Category.CategoryID.From(categoriesNotAction)
|
||||
|
||||
stmt := Actor.
|
||||
INNER_JOIN(FilmActor, Actor.ActorID.EQ(FilmActor.ActorID)).
|
||||
INNER_JOIN(filmLogerThan180, filmId.EQ(FilmActor.FilmID)).
|
||||
INNER_JOIN(Language, Language.LanguageID.EQ(filmLanguageId)).
|
||||
INNER_JOIN(FilmCategory, FilmCategory.FilmID.EQ(filmId)).
|
||||
INNER_JOIN(categoriesNotAction, categoryId.EQ(FilmCategory.CategoryID)).
|
||||
INNER_JOIN(filmLogerThan180, filmID.EQ(FilmActor.FilmID)).
|
||||
INNER_JOIN(Language, Language.LanguageID.EQ(filmLanguageID)).
|
||||
INNER_JOIN(FilmCategory, FilmCategory.FilmID.EQ(filmID)).
|
||||
INNER_JOIN(categoriesNotAction, categoryID.EQ(FilmCategory.CategoryID)).
|
||||
SELECT(
|
||||
Actor.AllColumns,
|
||||
filmLogerThan180.AllColumns(),
|
||||
|
|
@ -1552,7 +1552,7 @@ func TestQuickStartWithSubQueries(t *testing.T) {
|
|||
categoriesNotAction.AllColumns(),
|
||||
).ORDER_BY(
|
||||
Actor.ActorID.ASC(),
|
||||
filmId.ASC(),
|
||||
filmID.ASC(),
|
||||
)
|
||||
|
||||
var dest []struct {
|
||||
|
|
@ -1571,7 +1571,7 @@ func TestQuickStartWithSubQueries(t *testing.T) {
|
|||
assert.NilError(t, err)
|
||||
|
||||
//jsonSave("./testdata/quick-start-dest.json", dest)
|
||||
assertJsonFile(t, "./testdata/quick-start-dest.json", dest)
|
||||
assertJSONFile(t, "./testdata/quick-start-dest.json", dest)
|
||||
|
||||
var dest2 []struct {
|
||||
model.Category
|
||||
|
|
@ -1584,5 +1584,5 @@ func TestQuickStartWithSubQueries(t *testing.T) {
|
|||
assert.NilError(t, err)
|
||||
|
||||
//jsonSave("./testdata/quick-start-dest2.json", dest2)
|
||||
assertJsonFile(t, "./testdata/quick-start-dest2.json", dest2)
|
||||
assertJSONFile(t, "./testdata/quick-start-dest2.json", dest2)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue