Skip to content

Latest commit

 

History

History
54 lines (41 loc) · 1.21 KB

README.md

File metadata and controls

54 lines (41 loc) · 1.21 KB

CI Go Reference Go Report Card

sqlassert

Go package with assertion helpers for SQL databases

Use sqlassert in your integration tests or write assertions for schema changes and migraton scripts.

Usage

go get github.com/pengux/sqlassert

Example:

package migration_test

import (
	"testing"

	"github.com/pengux/sqlassert"
)

func TestMigration(t *testing.T) {
	...
	// db is *sql.DB
	pgassert := sqlassert.NewPostgresAsserter(db)

	table := "table_name"
	column := "column_name"
	index := "index_name"
	constraint := "constraint_name"
	id := "123"

	pgassert.TableExists(t, table)
	pgassert.ColumnExists(t, table, column)
	pgassert.ConstraintExists(t, table, column, constraint)
	pgassert.RowExists(t, table, map[string]interface{}{
		"id": id,
	})
	pgassert.IndexExists(t, table, index)
}

Supported databases

  • Postgresql
  • Mysql
  • SQLite
  • Microsoft SQL Server
  • Oracle