Merge branch 'dump-test'

This commit is contained in:
Dan Sosedoff 2017-09-22 22:17:29 -05:00
commit 85e38c390c
2 changed files with 43 additions and 0 deletions

View File

@ -385,6 +385,7 @@ func TestAll(t *testing.T) {
test_HistoryUniqueness(t)
test_HistoryError(t)
test_ReadOnlyMode(t)
test_DumpExport(t)
teardownClient()
teardown()

42
pkg/client/dump_test.go Normal file
View File

@ -0,0 +1,42 @@
package client
import (
"fmt"
"os"
"testing"
"github.com/stretchr/testify/assert"
)
func test_DumpExport(t *testing.T) {
url := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, serverDatabase)
savePath := "/tmp/dump.sql.gz"
os.Remove(savePath)
saveFile, err := os.Create(savePath)
if err != nil {
t.Fatal(err.Error())
}
defer func() {
saveFile.Close()
os.Remove(savePath)
}()
// Test full db dump
dump := Dump{}
err = dump.Export(url, saveFile)
assert.NoError(t, err)
// Test nonexistent database
invalidUrl := fmt.Sprintf("postgres://%s@%s:%s/%s?sslmode=disable", serverUser, serverHost, serverPort, "foobar")
err = dump.Export(invalidUrl, saveFile)
assert.Contains(t, err.Error(), `database "foobar" does not exist`)
// Test dump of non existent db
dump = Dump{Table: "foobar"}
err = dump.Export(url, saveFile)
assert.NotNil(t, err)
assert.Contains(t, err.Error(), "pg_dump: no matching tables were found")
}