good morning!!!!

Skip to content
Snippets Groups Projects
query_test.go 810 B
Newer Older
  • Learn to ignore specific revisions
  • Garet Halliday's avatar
    Garet Halliday committed
    package psql
    
    import (
    	"net"
    	"testing"
    
    
    Garet Halliday's avatar
    a  
    Garet Halliday committed
    	"tuxpa.in/a/zlog/log"
    
    
    Garet Halliday's avatar
    Garet Halliday committed
    	"pggat2/lib/auth/credentials"
    	"pggat2/lib/bouncer/backends/v0"
    	"pggat2/lib/zap"
    )
    
    
    Garet Halliday's avatar
    a  
    Garet Halliday committed
    type Result struct {
    	Username string  `sql:"usename"`
    	Password *string `sql:"passwd"`
    }
    
    
    Garet Halliday's avatar
    Garet Halliday committed
    func TestQuery(t *testing.T) {
    	// open server
    	s, err := net.Dial("tcp", "localhost:5432")
    	if err != nil {
    		t.Error(err)
    		return
    	}
    	server := zap.WrapNetConn(s)
    	_, err = backends.Accept(server, backends.AcceptOptions{
    		Credentials: credentials.Cleartext{
    			Username: "postgres",
    			Password: "password",
    		},
    		Database: "postgres",
    	})
    	if err != nil {
    		t.Error(err)
    		return
    	}
    
    
    Garet Halliday's avatar
    a  
    Garet Halliday committed
    	var res Result
    
    
    Garet Halliday's avatar
    Garet Halliday committed
    	err = Query(server, &res, "SELECT $1 as usename, $2 as passwd", "postgres", "password")
    
    Garet Halliday's avatar
    Garet Halliday committed
    	if err != nil {
    		t.Error(err)
    		return
    	}
    
    Garet Halliday's avatar
    a  
    Garet Halliday committed
    
    	log.Printf("%#v", res)
    
    Garet Halliday's avatar
    Garet Halliday committed
    }